Cloud2D SDK 部署 ZRX 后端调用说明

# 一、Cloud2D SDK ZRX 部署

1、在宿主机 docker 挂载目录下,例如:/home/zwcad/docker/(具体以实际挂载路径为准),进入到 data 文件夹,在 data 文件夹下新建一个 zrx 的文件夹 2、将 zrx 文件放入上面的文件夹中,/home/zwcad/docker/data/zrx/xxxxx.zrx 注:此时对应的 zrxFilePath=/app/data/zrx/xxxxx.zrx。 如果是其它的路径映射方式,需要根据实际情况进行调整,确保加载 zrx 时,传递的 zrx 文件路径(zrxFilePath 参数)能被 SDK 服务正常读取。

# 二、Zrx 调用流程

由于 Cloud2D SDK 部署后,会默认启动多个 coreservice 核心服务,这里提供了一种 ZRX 调用的方式。 调用固定的 SDK 接口,一次性将所有的请求参数发送给接口,接口将会返回相应的数据。 下面将以样例工程编译而成的 libCloud2dZrxSample.zrx 文件作为示例进行讲解。 libCloud2dZrxSample.zrx 可以实现在指定的 dwg 图纸中绘制一个随机颜色和随机大小的圆。

# 三、接口示例

http 请求接口 url: ** /api/common/multiple/request ** 端口默认是 9090,以实际部署的为准

请求方式

  • POST

请求参数示例

http://127.0.0.1:9090/api/common/multiple/request

{
    "params": [{
            "id": 0,
            "function": 100
            "data": {
                "zrxName": "libCloud2dZrxSample.zrx",
                "zrxFilePath": "/data/zrx/libCloud2dZrxSample.zrx"
            }
        }, {
            "id": 0,
            "function": 101,
            "data": {
                "zrxName": "libCloud2dZrxSample.zrx",
                "callParams": {
                    "filePath": "/data/zrx/zrx_test.dwg ",
                    "savePath": "/data/zrx/zrx_test_20240112.dwg"
                }
            }
        }, {
            "id": 0,
            "function": 102,
            "data": {
                "zrxName": "libCloud2dZrxSample.zrx"
            }
        }
    ]
}

请求参数

参数名 必填 参数类型 说明
params array 参数数组,按照顺序,如下方所示,依次是加载、调用和卸载 ZRX 的方法参数
id int 会话 ID,标识请求和响应匹配的 ID
function int 功能 code
data object 传入的数据
zrxName string zrx 文件的名称,必须以 lib 为前缀,zrx 为后缀,用于指定需要加载/调用/卸载的 zrx
zrxFilePath string zrx 文件存放路径,确保路径能正确读取
callParams string 调用 zrx 中方法的请求参数。具体内容不限定,由 ZRX 中业务逻辑决定

1、加载指定 zrx 文件

{
  "id": 0,
  "function": 100,
  "data": {
    "zrxName": "libCloud2dZrxSample.zrx",
    "zrxFilePath": "/data/zrx/libCloud2dZrxSample.zrx"
  }
}

2、调用 zrx 文件中的方法

{
  "id": 0,
  "function": 101,
  "data": {
    "zrxName": "libCloud2dZrxSample.zrx",
    "callParams": {
      "filePath": "/data/zrx/zrx_test.dwg ",
      "savePath": "/data/zrx/zrx_test_20240112.dwg"
    }
  }
}

3、卸载 zrx 文件

{ "id": 0, "function": 102, "data": { "zrxName": "libCloud2dZrxSample.zrx" } }

# 返回参数

{
    "msg": "success",
    "code": 0,
    "data": [{
            "code": 0
            "id": 0,
            "msg": "load external zrx success pid: 41 docId: 123456"
        }, {
            "code": 0,
            "data": {
                "docId": 100,
                "result": "add a circle to dwg file success"
            },
            "msg": "success"
        }, {
            "code": 0,
            "id": 0
            "msg": " unload external zrx success pid: 41 docId: 123456 "
        }
    ]
}

返回参数说明

参数名 参数类型 说明
code int 错误码,0 为成功,非 0 是失败
msg string 返回消息,code 非 0 时,返回失败原因
data array object 数组,表示方法的返回值,顺序对应 params 请求参数,依次是加载、调用和卸载 ZRX
data.id int 会话 ID,标识请求和响应匹配的 ID
data.code int 错误码,0 为成功,非 0 是失败
data.msg string 返回消息,code 非 0 时,返回失败原因
data.data object 调用 ZRX 方法时,返回的自定义数据。具体内容不限定,由 ZRX 中业务逻辑决定