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 中业务逻辑决定 |