元件库管理接口

# 1 创建元件库

简要描述

  • 创建指定名称的元件库

请求 URL

  • /api/component/library/create

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
name string 元件库名称
rename bool 元件库是否自动重命名:true,自动重命名;false,重名则抛出异常. 默认值为 false

请求示例

{
	"name": :"示例元件库",
	"rename": true
}

返回示例*

  • 正常返回
{
  "msg": "操作成功",
  "code": 0,
  "data": {
    "id": "1714174011331268608",
    "name": "示例元件库"
  }
}
  • 异常返回
{
  "msg": "已存在同名元件库",
  "code": 4800,
  "data": null
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.id long 元件库 id
data.name string 元件库名称

备注

# 2 分页查询元件库列表

简要描述

  • 分页查询元件库列表

请求 URL

  • /api/component/library/listPage

请求方式

  • GET

参数(queryString)

参数名 必选 类型 说明
pageNum int 页码,默认为 1
pageSize int 每页展示数量,默认为 10
queryName string 查询名称关键字
pageFlag boolean 是否分页,默认为 true,false 的场合,返回全量数据,即 total 数等于 pageSize,pageNum 默认为 1

请求示例

/api/component/library/listPage?pageNum=1&pageSize=10&queryName=元件库

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": {
    "total": 7,
    "pageSize": 10,
    "pageNum": 1,
    "rows": [
      {
        "id": "1737789833370951680",
        "name": "多元件默认库",
        "thumbnailIds": [
          "1739559292047155200",
          "1739559186153562112",
          "1738013504916287490"
        ],
        "type": "PRIVATE",
        "libType": "COMPONENT_LIB",
        "num": 3
      },
      {
        "id": "1739555866030592000",
        "name": "参照库",
        "type": "PUBLIC",
        "libType": "COMPONENT_LIB",
        "num": 0
      },
      {
        "id": "1739558763694874624",
        "name": "参照库2",
        "thumbnailIds": ["1739562067560718336", "1739562067938205696"],
        "type": "PUBLIC",
        "libType": "COMPONENT_LIB",
        "num": 2
      },
      {
        "id": "1739565560837124096",
        "name": "参照库3",
        "thumbnailIds": ["1739565730438000640", "1739565730698047488"],
        "type": "PUBLIC",
        "libType": "COMPONENT_LIB",
        "num": 2
      },
      {
        "id": "1739566256613416960",
        "name": "参照库4",
        "type": "PUBLIC",
        "libType": "COMPONENT_LIB",
        "num": 0
      },
      {
        "id": "1739568282781052928",
        "name": "参照库5",
        "type": "PUBLIC",
        "libType": "COMPONENT_LIB",
        "num": 0
      },
      {
        "id": "1739569163891068928",
        "name": "参照库6",
        "thumbnailIds": [
          "1739572602729615360",
          "1738013504836595714",
          "1737789833765216258",
          "1739575369707778048"
        ],
        "type": "PUBLIC",
        "libType": "COMPONENT_LIB",
        "num": 4
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.total int 总数
data.pageSize long 每页数量
data.pageNum long 页码
data.rows list 列表数据
data.rows.id long 元件库 id
data.rows.type string 元件库访问类型,PUBLIC:公共库,PRIVATE:个人库
data.rows.libType string 元件库类型,FONT_LIB:字体库,COMPONENT_LIB:元件库
data.rows.name string 元件库名称
data.rows.thumbnailIds array 元件库缩略图 id 列表
data.rows.num int 元件库下面的元件数量

备注

# 3 查询个人元件库全量列表

简要描述

  • 查询个人元件库全量列表(用于复制/移动时选择目标元件库)

请求 URL

  • /api/component/library/listAll

请求方式

  • GET

参数

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": "1706516367443447808",
      "name": "CAD庭院终稿"
    },
    {
      "id": "1706516856272801792",
      "name": "8898"
    },
    {
      "id": "1713838071538728960",
      "name": "四个小元件"
    },
    {
      "id": "1713879311957315584",
      "name": "四个小元件_2023"
    }
  ]
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.id long 元件库 id
data.name string 元件库名称

备注

# 4 获取元件库默认元件类型列表

简要描述

  • 获取元件库默认元件类型列表

请求 URL

  • /api/component/library/typeList

请求方式

  • GET

参数(queryString)

参数名 必选 类型 说明
id string 元件库 id

请求示例

/api/component/library/typeList?id=1713879311957315584

返回示例*

{
  "msg": "操作成功",
  "code": 0,
  "data": [
    {
      "type": 0,
      "sequence": 0,
      "visible": "NO",
      "name": "LINE_TYPE"
    },
    {
      "type": 1,
      "sequence": 3,
      "visible": "NO",
      "name": "LAYER"
    },
    {
      "type": 2,
      "sequence": 6,
      "visible": "YES",
      "name": "BLOCK",
      "total": 4
    },
    {
      "type": 3,
      "sequence": 9,
      "visible": "NO",
      "name": "PATTERN"
    },
    {
      "type": 4,
      "sequence": 12,
      "visible": "NO",
      "name": "GRADIENT"
    },
    {
      "type": 5,
      "sequence": 15,
      "visible": "NO",
      "name": "PAINT_BOX"
    },
    {
      "type": 6,
      "sequence": 18,
      "visible": "NO",
      "name": "LAYOUT"
    },
    {
      "type": 7,
      "sequence": 21,
      "visible": "NO",
      "name": "PICTURE"
    },
    {
      "type": 8,
      "sequence": 24,
      "visible": "YES",
      "name": "TEXT_STYLE"
    },
    {
      "type": 9,
      "sequence": 27,
      "visible": "NO",
      "name": "DIM_STYLE"
    },
    {
      "type": 10,
      "sequence": 30,
      "visible": "NO",
      "name": "MULTIPLE_LEAD_STYLE"
    },
    {
      "type": 11,
      "sequence": 33,
      "visible": "NO",
      "name": "TABLE_TYPE"
    },
    {
      "type": 12,
      "sequence": 36,
      "visible": "NO",
      "name": "PLOT_STYLE"
    },
    {
      "type": 13,
      "sequence": 39,
      "visible": "NO",
      "name": "PAGE_SETUP"
    },
    {
      "type": 14,
      "sequence": 42,
      "visible": "NO",
      "name": "FONT"
    }
  ]
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.type int 元件类型:0,图层;1,图块等
data.sequence int 元件类型排序序号,从 0 开始
data.visible string 元件类型是否可见,"YES":可见,"NO":不可见
data.name string 元件类型名称
data.total int 元件库中每种类型的元件的总数

备注

# 5 元件库重命名

简要描述

  • 元件库重命名

请求 URL

  • /api/component/library/rename

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id long 元件库 id
name string 元件库名称

请求示例

{
  "id": "1714174011331268608",
  "name": "新元件库名称"
}

返回示例*

  • 成功的场合
{
  "msg": "操作成功",
  "code": 0,
  "data": true
}
  • 失败的场合
{
  "msg": "重命名失败",
  "code": 4807,
  "data": null
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data bool 更新状态,true 表示成功

备注

# 6 删除元件库

简要描述

  • 删除元件库

请求 URL

  • /api/component/library/delete

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id string 元件库 id

请求示例

{
  "id": "1737789833370951680"
}

返回示例*

{
  "msg": "操作成功",
  "code": 0
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息

备注

# 7 编辑元件属性

简要描述

  • 单独更新元件属性

请求 URL

  • /api/component/editProperty

请求方式

  • POST

参数

参数名 必选 类型 说明
id long 元件 id,拼接在 url 上传值
元件属性 obj 元件属性,内容不固定,以 json 键值对的形式通过 request body 传值

请求示例

  • 参数 1(queryString):
/api/component/editProperty?id=1713866486765539328
  • 参数 2(application/json):
{
  "key1": "val1",
  "anno": "true",
  "dynamic": "false",
  "unitValue": "1"
}

返回示例*

{
  "msg": "success",
  "code": 0,
  "data": true
}

返回参数说明

参数名 类型 说明
code int 状态码, 0 表示成功,非 0 表示失败
msg string 消息
data bool true 为更新成功

备注

# 8 元件编辑

简要描述

  • 更新元件属性或者内容

请求 URL

  • /api/component/edit

请求方式

  • POST

参数(form-data)

参数名 必选 类型 说明
data string 元件编辑信息,json 字符串,内容见下方定义
file file 文件,最多可以传输两个文件,即元件源文件和缩略图文件
  • data 对象属性说明
参数名 必选 类型 说明
id string 元件 id
info object 元件信息
  • info 对象属性说明
参数名 必选 类型 说明
name string 元件名称
sourceFileName string 元件源文件的文件名
thumbnailFileName string 元件缩略图文件的文件名
properties map 元件属性键值对

请求示例

data: {"id":"1739562066658942976","info":{"name":"testMe","sourceFileName":"元件-testMe-2.dwg","thumbnailFileName":"thumb-元件-testMe-2.png","properties":{"xyz":"hahah","yuz":"hello"}}}
file: 元件-testMe-2.dwg,
file: thumb-元件-testMe-2.png

返回示例*

{
  "msg": "success",
  "code": 0,
  "data": true
}

返回参数说明

参数名 类型 说明
code int 状态码,0 表示成功,非 0 表示失败
msg string 消息
data bool 操作结果,true:编辑成功

备注

# 9 元件详情

简要描述

  • 查看元件详情

请求 URL

  • /api/component/detail

请求方式

  • GET

参数(queryString)

参数名 必选 类型 说明
id long 元件 id

请求示例

/api/component/detail?id=1713866420420038656

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": {
    "libraryName": "参照库2",
    "libraryType": "PUBLIC",
    "id": "1739562066658942976",
    "libraryId": "1739558763694874624",
    "type": 2,
    "name": "testMe",
    "thumbnailFileId": "1739562066914795520",
    "sourceFileId": "1739562067560718336",
    "properties": {
      "xyz": "hahah",
      "yuz": "hello"
    },
    "createTime": 1704966687000,
    "updateTime": 1704966687000
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.id long 元件 id
data.libraryId long 元件库 id
data.type int 元件类型
data.name string 元件名称
data.sourceFileId string 源文件 id
data.thumbnailFileId string 缩略图文件 id
data.properties obj 元件属性,内容不固定
data.createTime long 创建时间,时间戳
data.updateTime long 更新时间,时间戳
data.libraryType string 元件库类型: PUBLIC,公有;PRIVATE,私有;
data.libraryName string 元件库名称

备注

# 10 元件批量提取至元件库

简要描述

  • 元件批量提取至元件库

请求 URL

  • /api/component/extract

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
data string 元件信息 json 字符串,见下方定义
file file 元件的源文件和缩略图文件组成的 zip(utf-8 格式)压缩文件
  • data 序列化对象属性定义
参数名 必选 类型 说明
id string 元件库 id, 和 libraryName 二选一
libraryName string 元件库名称,和 id 二选一
size 元件源文件总大小,单位是 byte
list array 元件信息列表
  • list.object 序列化对象属性定义
参数名 必选 类型 说明
type int 元件类型,目前只支持图块(2),其他类型见备注#元件类型#
name string 元件名称
sourceFileName string 元件源文件的文件名
thumbnailFileName string 元件缩略图文件的文件名
properties map 元件属性

请求示例

{
  "libraryName": "多元件默认库",
  "size": 1024,
  "list": [
    {
      "type": 2,
      "name": "图块1",
      "sourceFileName": "图块1.dwg",
      "thumbnailFileName": "thumb_图块1.png",
      "properties": {
        "name": "图块1",
        "width": "100px"
      }
    },
    {
      "type": 2,
      "name": "图块2",
      "sourceFileName": "图块2.dwg",
      "thumbnailFileName": "thumb_图块2.png",
      "properties": {
        "name": "图块2",
        "width": "100px",
        "length": "200px"
      }
    }
  ]
}

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": {
    "total": 2,
    "success": 2,
    "fail": 0,
    "id": "1739914592053420032",
    "list": [
      {
        "type": 2,
        "name": "图块1",
        "errorEnum": ["SUCCESS"]
      },
      {
        "type": 1,
        "name": "图块2",
        "errorEnum": ["SUCCESS"]
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.total int 元件总数
data.success int 成功的元件总数
data.fail int 失败的元件总数
data.id long 元件库 id
data.list List 元件提取详细信息列表
data.list.type int 元件类型
data.list.name string 元件名
data.list.errorEnum array 错误类型枚举,见下方备注

备注

  • 元件类型
参数名 说明
0 线型
1 图层
2 图块
3 样式
4 坡度
5 画箱
6 布局
7 图片
8 文字样式
9 设计风格
10 多端风格
11 表类型
12 打印样式
13 页面设置
14 字体
  • 错误类型枚举
参数名 说明
SUCCESS 成功
LACK_OF_SOURCE 缺少源文件
LACK_OF_THUMBNAIL 缺少缩略图文件
INVALID_TYPE 元件类型非法
HAVE_EXISTED 已经存在
UPLOAD_SOURCE_FILE_FAIL 上传源文件失败
UPLOAD_THUMBNAIL_FILE_FAIL 上传缩略图文件失败

# 11 元件重命名

简要描述

  • 元件重命名

请求 URL

  • /api/component/rename

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id string 元件 id
name string 变更后的名字

请求示例

{
  "id": "1713838346668294144",
  "name": "t1-copy-modify"
}

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": true
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data bool true 表示重命名成功,false 表示失败

备注

# 12 元件缩略图

简要描述

  • 元件缩略图

请求 URL

  • /api/component/thumbnail

请求方式

  • GET

参数(queryString)

参数名 必选 类型 说明
id string 缩略图文件 id

请求示例

/api/component/thumbnail?id=1737789833765216256

返回示例* 二进制流

备注

# 13 分页查询元件列表

简要描述

  • 分页查询元件列表

请求 URL

  • /api/component/listPage

请求方式

  • GET

参数(queryString)

参数名 必选 类型 说明
id long 元件库 id
type int 元件类型
pageNum int 页码
pageSize int 每页展示数量
queryName string 查询名称关键字
pageFlag boolean 是否分页,默认是分页,ture:分页,false:不分页

请求示例

/api/component/listPage?id=1706516367443447808&pageNum=1&pageSize=10&type=1

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": {
    "total": 2,
    "pageSize": 10,
    "pageNum": 1,
    "rows": [
      {
        "id": "1739562066658942976",
        "libraryId": "1739558763694874624",
        "type": 1,
        "name": "testMe",
        "thumbnailFileId": "1739562067560718336",
        "properties": {
          "xyz": "hahah",
          "yuz": "hello"
        },
        "createTime": "168956789000",
        "updateTime": "168956789000"
      },
      {
        "id": "1739562067745267712",
        "libraryId": "1739558763694874624",
        "type": 1,
        "name": "图层1",
        "thumbnailFileId": "1739562067938205696",
        "createTime": "168956789000",
        "updateTime": "168956789000"
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.total int 总数
data.pageSize long 每页数量
data.pageNum long 页码
data.rows list 列表数据
data.rows.id long 元件 id
data.rows.type string 元件类型
data.rows.name string 元件名称
data.rows.libraryId string 元件库 id
data.rows.thumbnailFileId string 元件缩略图 d
data.rows.properties string 元件属性,内容不固定
data.rows.createTime long 创建时间戳
data.rows.updateTime long 更新时间戳

备注

# 14 元件复制

简要描述

  • 元件复制

请求 URL

  • /api/component/copy

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
ids array 被操作元件 id 列表,每次操作最少 1 个,最多 50 个元件
targetLibId string 目标库 ID

请求示例

{
    "ids": ["1737789833765216256", "1738013504836595712"],
    "targetLibId": "1739558763694874624"
}

返回示例*

  • 无冲突的场景
{
  "msg": "success",
  "code": 0,
  "data": {
    "conflict": false
  }
}
  • 有冲突的场景
{
  "msg": "success",
  "code": 0,
  "data": {
    "conflictList": [
      {
        "name": "testRename",
        "srcId": "1739914592112140288",
        "srcFileSize": 45299,
        "srcUpdateTime": 1704966687000,
        "srcThumbnailFileId": "1739914592477044737",
        "tarId": "1739927970847129600",
        "tarFileSize": 45299,
        "tarUpdateTime": 1704966687000,
        "tarThumbnailFileId": "1739927971031678976"
      },
      {
        "name": "图层2",
        "srcId": "1739914592518987776",
        "srcFileSize": 45299,
        "srcUpdateTime": 1704966687000,
        "srcThumbnailFileId": "1739914592544153601",
        "tarId": "1739927969614004224",
        "tarFileSize": 45299,
        "tarUpdateTime": 1704966687000,
        "tarThumbnailFileId": "1739927970582888448"
      }
    ],
    "count": 2,
    "conflict": true
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.count int 复制到的目标库中的不重名元件的数量
data.conflict boolean 目标库中是否存在重名元件,true:存在,false:不存在
data.conflictList obj 重命元件信息列表
data.conflictList.name string 元件名称
data.conflictList.srcId long 正在复制的元件 id
data.conflictList.tarId long 库中已有的元件 id
data.conflictList.srcFileSize long 正在复制的元件源文件大小
data.conflictList.tarFileSize long 库中已有的元件源文件大小
data.conflictList.srcThumbnailFileId string 正在复制的元件缩略图文件 id
data.conflictList.tarThumbnailFileId string 库中已有的元件缩略图文件 id
data.conflictList.srcUpdateTime long 正在复制的元件更新时间
data.conflictList.tarUpdateTime long 库中已有的元件更新时间

备注

# 15 元件移动

简要描述

  • 元件移动

请求 URL

  • /api/component/move

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
ids List 被操作元件 id 列表,每次操作最少 1 个,最多 50 个元件
targetLibId long 目标元件库 ID

请求示例

{
  "ids": ["1713838075200356352", "1713838075208744960"],
  "targetLibId": "1706516856272801792"
}

返回示例*

  • 无冲突的场合
{
  "msg": "success",
  "code": 0,
  "data": {
    "conflict": false
  }
}
  • 有冲突的场合
{
  "msg": "success",
  "code": 0,
  "data": {
    "conflictList": [
      {
        "name": "图层2",
        "srcId": "1739914592518987776",
        "srcFileSize": 45299,
        "srcUpdateTime": 1704966687000,
        "srcThumbnailId": "1739914592544153601",
        "tarId": "1739927969614004224",
        "tarFileSize": 45299,
        "tarUpdateTime": 1704966687000,
        "tarThumbnailFileId": "1739927970582888448"
      },
      {
        "name": "testRename",
        "srcId": "1739914592112140288",
        "srcFileSize": 45299,
        "srcUpdateTime": 1704966687000,
        "srcThumbnailId": "1739914592477044737",
        "tarId": "1739927970847129600",
        "tarFileSize": 45299,
        "tarUpdateTime": 1704966687000,
        "tarThumbnailFileId": "1739927971031678976"
      }
    ],
    "count": 2,
    "conflict": true
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.count int 移动到的目标库中的不重名元件的数量
data.conflict boolean 目标库中是否存在重名元件,true:存在,false:不存在
data.conflictList obj 重命元件信息列表
data.conflictList.name string 元件名称
data.conflictList.srcId string 正在移动的元件 id
data.conflictList.tarId string 库中已有的元件 id
data.conflictList.srcFileSize long 正在移动的元件源文件大小
data.conflictList.tarFileSize long 库中已有的元件源文件大小
data.conflictList.srcThumbnailFileId string 正在移动的元件缩略图 url
data.conflictList.tarThumbnailFileId string 库中已有的元件缩略图 url
data.conflictList.srcUpdateTime long 正在移动的元件更新时间
data.conflictList.tarUpdateTime long 库中已有的元件更新时间

备注

# 16 元件生成副本

简要描述

  • 元件生成副本

请求 URL

  • /api/component/singleDuplicate

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id string 元件 id

请求示例

{
  "id": "1739927970847129600"
}

返回示例*

{
  "msg": "操作成功",
  "code": 0,
  "data": {
    "id": "1713838346668294144",
    "name": "t1-copy"
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.id long 复制后的新元件的 id
data.name string 复制后的新元件的名称

备注

# 17 元件下载

简要描述

  • 元件下载

请求 URL

  • /api/component/download

请求方式

  • GET

参数(queryString)

参数名 必选 类型 说明
id string 元件 id

请求示例

/api/component/download?id=1740312810021580800

返回示例*

  • 正常返回(code = 200)
二进制数据流

备注

# 18 删除元件(支持批量)

简要描述

  • 删除元件(支持批量)

请求 URL

  • api/component/delete

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
ids array 元件 id 数组

请求示例

{
  "ids": ["123456", "2348175"]
}

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "num": 2
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.num int 删除成功数量

备注

# 19 冲突时生成副本

简要描述

  • 冲突时生成副本

请求 URL

  • api/component/duplicate

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
type int 可选值:
0:覆盖原文件;
1:生成副本
list array 操作关联文件数组
  • 参数对象(object)
参数名 必选 类型 说明
srcId string 源文件 id,即副本或者覆盖文件 id
destId string 目标文件 id,即被覆盖的文件 id

请求示例

{
  "type": 1,
  "list": [
    {
      "srcId": "1739989419066425344",
      "destId": "1739989657713934336"
    },
    {
      "srcId": "1739989419540381696",
      "destId": "1739989656992514048"
    }
  ]
}

返回示例*

{
  "msg": "success",
  "code": 0,
  "data": {
    "profiles": [
      {
        "id": 1740208889299021825,
        "name": "图层1_1740208889299021824"
      },
      {
        "id": 1740208890397929473,
        "name": "图层2_1740208890397929472"
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.profiles array 副本的场合,表示新生成的副本元件的基本信息;
覆盖的场合,表示被覆盖的元件的基本信息
data.profiles[0].id string 元件 id
data.profiles[0].name string 元件名称

备注

# 20 冲突时覆盖源文件

简要描述

  • 冲突时覆盖源文件

请求 URL

  • api/component/override

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
type int 可选值:0:覆盖源文件
list array 操作关联文件数组
  • 参数对象(object)
参数名 必选 类型 说明
srcId string 源文件 id,即副本或者覆盖文件 id
destId string 目标文件 id,即被覆盖的文件 id

请求示例

{
  "type": 0,
  "list": [
    {
      "srcId": "1739989419066425344",
      "destId": "1739989657713934336"
    },
    {
      "srcId": "1739989419540381696",
      "destId": "1739989656992514048"
    }
  ]
}

返回示例*

{
  "msg": "success",
  "code": 0,
  "data": {
    "profiles": [
      {
        "id": 1739989657713934336,
        "name": "图层1"
      },
      {
        "id": 1739989656992514048,
        "name": "图层2"
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.profiles array 副本的场合,表示新生成的副本元件的基本信息;
覆盖的场合,表示被覆盖的元件的基本信息
data.profiles[0].id string 元件 id
data.profiles[0].name string 元件名称

备注

# 21 新增元件

简要描述

  • 上传指定类型的元件源文件或者元件源文件压缩包

请求 URL

  • api/component/add

请求方式

  • POST

参数(form-data)

参数名 必选 类型 说明
file binary 二进制文件,指定类型的元件文件
type int 可选值:0(线型), 12(打印样式),14(字体), 15(模板)
libId string 元件库 id,file 为元件的场合必填,file 为 zip 文件的时候选填

请求示例

file:example.dwg,
libId:1762667799999,
type:2

返回示例*

{
  "code": 0,
  "msg": "success",
  "data": {
    "total": 2,
    "success": 2,
    "fail": 0,
    "id": "1739914592053420032",
    "list": [
      {
        "type": 2,
        "name": "图块1",
        "errorEnum": ["SUCCESS"]
      },
      {
        "type": 1,
        "name": "图块2",
        "errorEnum": ["SUCCESS"]
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 状态码
msg string 消息
data obj 数据
data.total int 元件总数
data.success int 成功的元件总数
data.fail int 失败的元件总数
data.id long 元件库 id
data.list List 元件提取详细信息列表
data.list.type int 元件类型
data.list.name string 元件名
data.list.errorEnum array 错误类型枚举,见下方备注

备注

# 22 提取元件

简要描述

  • 从云端或者本地指定的 dwg 文件中提取元件

请求 URL

  • api/component/resolve

请求方式

  • POST

参数(form-data)

参数名 必选 类型 说明
types array 提取类型
file binary 二进制文件,本地提取时必传
docId string 文档 id,云端提取时必传

请求示例

  • 本地文件提取
types: 0,1,2,3,4
file: example.dwg
  • 云端文件提取
types: 0,1,2,3,4
docId: "12345677321454"

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": [
    {
      "type": 0,
      "data": [
        {
          "id": "1821801413417967619",
          "name": "ByBlock"
        },
        {
          "id": "1821801413585739777",
          "name": "Continuous"
        },
        {
          "id": "1821801413615099904",
          "name": "ByLayer"
        }
      ]
    },
    {
      "type": 1,
      "data": [
        {
          "id": "1821801413417967618",
          "name": "0"
        }
      ]
    },
    {
      "type": 3,
      "data": [
        {
          "id": "1821801413417967616",
          "name": "级配砂石",
          "thumbStr": "data:image/png;base64,iVBORw0KGg="
        }
      ]
    },
    {
      "type": 8,
      "data": [
        {
          "id": "1821801413417967617",
          "name": "font3"
        },
        {
          "id": "1821801413543796736",
          "name": "font4"
        },
        {
          "id": "1821801413585739776",
          "name": "font2"
        },
        {
          "id": "1821801413623488512",
          "name": "font1"
        }
      ]
    },
    {
      "type": 9,
      "data": [
        {
          "id": "1821801413417967620",
          "name": "ISO-25"
        },
        {
          "id": "1821801413539602432",
          "name": "Annotative"
        }
      ]
    }
  ]
}

返回参数说明

参数名 类型 说明
code int 0 表示成功,非 0 表示异常
msg string 返回消息
data array 对象数组
data[0].type int 元件类型
data[0].data array 元件数据
data[0].data[0].id string 元件资源 id
data[0].data[0].name string 元件资源名称
data[0].data[0].thumbStr string 元件缩略图(如果存在),使用 base64 编码

备注

# 23 保存到元件库

简要描述

  • 从资源中心保存元件资源到指定元件库

请求 URL

  • api/component/confirm

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
libId string 元件库 id
items array 资源项数组
items[0].type int 元件类型
items[0].data array 指定元件类型的资源数组
items[0].data[0].id string 指定资源 id
items[0].data[0].name string 指定资源名称

请求示例

{
    "libId": "1821743376678330368",
    "items": [
        {
            "type": 1,
            "data": [
                {
                    "id": "1821801413417967618",
                    "name": "0"
                }
            ]
        },
        {
            "type": 3,
            "data": [
                {
                    "id": "1821801413417967616",
                    "name": "级配砂石"
                }
            ]
        }
    ]
}

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "total": 2,
    "success": 2,
    "fail": 0,
    "id": "1821743376678330368",
    "list": [
      {
        "type": 1,
        "name": "0",
        "statusEnums": ["SUCCESS"]
      },
      {
        "type": 3,
        "name": "级配砂石",
        "statusEnums": ["SUCCESS"]
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
total int 元件总数
success int 成功数
fail int 失败数
id string 元件库 id
list array 元件添加状态
list[0].type int 元件类型
list[0].name string 元件名称
list[0].statusEnums array 添加状态

备注

# 24 新增元件组

简要描述

  • 新增指定元件类型的分组

请求 URL

  • api/component/group/add

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
libId string 库 id
type int 元件类型
name string 元件组名称

请求示例

[
    {
        "libId": "1821743376678330368",
        "type": 0,
        "name": "1"
    },
    {
        "libId": "1821743376678330368",
        "type": 1,
        "name": "2"
    }
]

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "success": 2,
    "fail": 0,
    "data": [
      {
        "id": "1821813163940978688",
        "name": "1"
      },
      {
        "id": "1821813163999698944",
        "name": "2"
      }
    ]
  }
}

返回参数说明

参数名 类型 说明
code int 0 表示成功,非 0 表示异常
msg string 接口返回信息
data array 接口响应
data.success int 成功数
data.fail int 失败数
data.data[0].id string 分组 id
data.data[0].name string 分组名称

备注

# 25 删除元件组

简要描述

  • 删除元件分组

请求 URL

  • api/component/group/remove

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
resIds array 元件组 id 数组

请求示例

{
    "resIds": [
        "1821813163940978688"
    ]
}

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "success": 1,
    "fail": 0
  }
}

返回参数说明

参数名 类型 说明
code int 0 表示成功,非 0 表示异常
msg string 响应消息
data object 响应数据
data.success int 成功数
data.fail int 失败数

备注

# 26 重命名元件组

简要描述

  • 元件组重命名

请求 URL

  • api/component/group/rename

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id string 元件组 id
name string 新的元件组名称

请求示例

{
    "id": "1821813163999698944",
    "name": "22"
}

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": ""
}

返回参数说明

参数名 类型 说明
code int 0 表示成功,非 0 表示失败
msg string 响应消息
data object 响应数据

备注

# 27 加入元件组

简要描述

  • 将元件库中的元素移动到元件组中

请求 URL

  • api/component/group/join

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id string 元件组 id
resIds array 元组 id 数组

请求示例

{
    "resIds": [
        "1821803757920657408"
    ],
    "id": "1821813163999698944"
}

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "success": 1,
    "fail": 0
  }
}

返回参数说明

参数名 类型 说明
code int 0 表示成功,非 0 表示异常
msg string 响应消息
data object 响应数据
data.success int 成功数
data.fail int 失败数

备注

# 28 移出元件组

简要描述

  • 将元件从组移出到库

请求 URL

  • api/component/group/exit

请求方式

  • POST

参数(form-data)

参数名 必选 类型 说明
id string 元件库 id
resIds array 元组 id 数组

请求示例

{
    "resIds": [
        "1818238776000192512"
    ],
    "id": "1820696505079898112"
}

返回示例*

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "success": 1,
    "fail": 0
  }
}

返回参数说明

参数名 类型 说明
code int 0 表示成功,非 0 表示异常
msg string 响应消息
data object 响应数据
data.success int 成功数
data.fail int 失败数

备注

# 29 元件插入图纸中

简要描述

  • 将指定的元件插入到指定的图纸文档中

请求 URL

  • api/component/insertDrawing

请求方式

  • POST

参数(application/json)

参数名 必选 类型 说明
id long 元件 id,指定需要操作的元件
docId long 文档 id,指定要插入的图纸文档
scale double 缩放比例,默认值是 1.0
insertPoint array 插入点坐标,二维 double 数组

请求示例

{
    "id": "1834416481637675008",
    "scale": 0.5,
    "docId": "1834530984748560384",
    "insertPoint": [[500.1382, 459.0112, 0],[600.1382, 559.0112, 0]]
}

返回示例* 成功示例:

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "code": 0,
    "msg": "insert successful pid: 39 docId: 1834530984748560384",
    "data": ""
  }
}

失败示例:

{
  "code": 0,
  "msg": "操作成功",
  "data": {
    "code": 3,
    "msg": "input data wrong pid: 40 docId: 1834524249568751616",
    "data": ""
  }
}

返回参数说明

参数名 类型 说明
code int 0 表示接口调用成功,非 0 表示接口调用失败
msg string 响应消息
data object 响应数据
data.code int 0 表示元件插入图纸成功,非 0 表示元件插入图纸异常
data.msg string 元件插入图纸返回的消息

备注