画板节点的数据结构
本文档主要说明画板中节点的数据结构。
节点类型
画板节点类型可分为容器类型与非容器类型,容器类型可作为父节点,在创建节点时可将节点挂载在容器类型下。 画板目前支持的节点类型有:
| 名称 | 描述 | 是否为容器类型 |
|---|---|---|
| composite_shape | 基础图形 | 否 |
| text_shape | 文字图形 | 否 |
| connector | 连线 | 否 |
| section | 分区 | 是 |
| table | 表格 | 是 |
| group | 组合图形 | 是 |
| table_uml | 类图 | 否 |
| table_er | 实体关系图 | 否 |
| sticky_note | 便签 | 否 |
| paint | 画笔 | 否 |
| image | 图片 | 否 |
| svg | svg图形 | 否 |
| life_line | 对象生命线 | 是 |
| activation | 控制焦点 | 否 |
| combined_fragment | 组合片段 | 否 |
| mind_map | 思维导图节点 | 否 |
基础图形类型细分
基础图形中的子节点类型可以细分为以下具体形状:
| 名称 | 描述 | 图示 |
|---|---|---|
| round_rect | 圆角矩形 | ![]() |
| round_rect2 | 全圆角矩形 | ![]() |
| diamond | 菱形 | ![]() |
| rect | 基础矩形 | ![]() |
| ellipse | 圆形 | ![]() |
| cylinder | 圆柱体 | ![]() |
| step | 步骤 | ![]() |
| step2 | 步骤2 | ![]() |
| parallelogram | 平行四边形 | ![]() |
| trapezoid | 梯形 | ![]() |
| bubble | 气泡 | ![]() |
| rect_bubble | 矩形气泡 | ![]() |
| right_triangle | 直角三角形 | ![]() |
| triangle | 三角形 | ![]() |
| star | 五角星 | ![]() |
| hexagon | 六边形 | ![]() |
| pentagon | 五边形 | ![]() |
| octagon | 八边形 | ![]() |
| backward_arrow | 反向箭头(左箭头) | ![]() |
| forward_arrow | 单向箭头 | ![]() |
| double_arrow | 双向箭头 | ![]() |
| cloud | 云朵 | ![]() |
| brace_reverse | 反向花括号(左括号) | ![]() |
| brace | 花括号 | ![]() |
| cross | 十字形 | ![]() |
| circular_ring | 圆环 | ![]() |
| pie | 扇形 | ![]() |
| cube | 立方体 | ![]() |
| flow_chart_round_rect | 流程图圆角矩形 | ![]() |
| flow_chart_round_rect2 | 流程图全圆角矩形 | ![]() |
| flow_chart_diamond | 流程图判定 | ![]() |
| document_shape | 文档图形 | ![]() |
| flow_chart_parallelogram | 流程图数据 | ![]() |
| flow_chart_cylinder | 流程图数据库 | ![]() |
| horiz_cylinder | 水平方向圆柱体 | ![]() |
| predefined_process | 预定义流程 | ![]() |
| manual_input | 手动输入图形 | ![]() |
| flow_chart_trapezoid | 流程图手动操作 | ![]() |
| delay_shape | 延迟图形 | ![]() |
| flow_chart_hexagon | 流程图准备 | ![]() |
| off_page_connector | 跨页引用 | ![]() |
| flow_chart_mq | 消息队列 | ![]() |
| class_interface | 类图,接口 | ![]() |
| classifier | 类图,类目 | ![]() |
| note_shape | 注释图形 | ![]() |
| actor | 角色小人 | ![]() |
| condition_shape | 组合片段 | ![]() |
| condition_shape2 | 组合片段2 | ![]() |
| data_flow_round_rect | 数据流外部实体 | ![]() |
| data_process | 数据处理 | ![]() |
| data_flow_ellipse | 数据处理(圆形) | ![]() |
| data_flow_round_rect3 | 数据处理(正方圆角矩形) | ![]() |
| data_store | 数据存储 | ![]() |
| data_store2 | 数据存储2 | ![]() |
| data_store3 | 数据存储3 | ![]() |
| component_shape | 组件 | ![]() |
| component_shape2 | 组件2 | ![]() |
| component_interface | 组件,接口 | ![]() |
| component_required_interface | 组件,需求接口 | ![]() |
| component_assembly | 组件,组装 | ![]() |
| state_start | 状态图,开始 | ![]() |
| state_end | 状态图,结束 | ![]() |
| state_concurrence | 状态图,并发 | ![]() |
| star3 | 四角形 | ![]() |
| star4 | 六角形 | ![]() |
| star2 | 爆炸星型 | ![]() |
节点属性
节点属性可以分基础属性及特有节点属性。
基础属性
Text
节点的文字属性(目前文本内容不支持混排。文字颜色、背景颜色不支持自定义,具体支持的颜色值见主题描述)。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| text | string | 文字内容 | optional |
| font_weight | string | 文字字重 - regular: 常规 - bold: 加粗 | optional,默认值 regular |
| font_size | int | 文字大小 | optional,默认值 14 |
| horizontal_align | string | 水平对齐 - left: 向左对齐 - center: 居中对齐 - right: 向右对齐 | optional,默认值 center |
| vertical_align | string | 垂直对齐 - top: 顶部对齐 - mid: 垂直居中 - bottom: 底部对齐 | optional,默认值 mid |
| text_color | string | 文字颜色 | 16 进制 RGB 值,文字颜色不支持自定义,具体颜色值可以查看画板主题简介 |
| text_background_color | string | 文字背景颜色 | 16 进制 RGB 值,文字背景颜色不支持自定义,具体颜色值可以查看画板主题简介 |
| line_through | bool | 是否存在删除线 - true: 文本内容存在删除线 - false: 文本内容不存在删除线 | optional,默认 false |
| underline | bool | 是否存在下划线 - true: 文本内容存在下划线 - false: 文本内容不存在下划线 | optional,默认 false |
| italic | bool | 是否斜体 - true: 文本内容为斜体 - false: 文本内容不是斜体 | optional,默认 false |
| angle | int | 文字旋转角度 | 支持的角度有: 0、90、180、270 度 |
| theme_text_color_code | int | 主题色表盘下文字颜色 code 值 | code 对应主题下文字颜色色表盘上颜色的下标值,同一个 code 值,对于不同主题会有不同的颜色,可以做到文字颜色随主题切换功能,具体可参考 主题简介。与 text_color 作用相同,推荐使用此字段。同时设置时 text_color 生效。 |
| theme_text_background_color_code | int | 主题色表盘下文字背景颜色 code 值 | code 对应主题下文字背景颜色色表盘上颜色的下标值,同一个 code 值,对于不同主题会有不同的颜色,可以做到文字背景颜色随主题切换功能,具体可参考 主题简介。与 text_background_color 作用相同,推荐使用此字段。同时设置时 text_background_color 生效 |
Style
节点的样式属性,包含边框样式、填充样式。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| fill_color | string | 填充颜色,16 进制 RGB 值 | optional,不设置时跟随主题配色 |
| fill_opacity | float | 填充透明度 | optional,默认值 100范围 0~100 |
| border_style | string | 边框样式 - none: 无边框 - solid: 实线 - dash: 虚线 - dot: 点状虚线 | optional,默认值solid |
| border_width | string | 边框宽度 - extra_narrow: 极细 - narrow: 细 - medium: 中 - bold: 粗 | optional,默认值narrow |
| border_opacity | float | 边框透明度范围 0~100 默认值100 | optional,默认值100范围 0~100 |
| h_flip | bool | 水平翻折 | optional,默认值 false |
| v_flip | bool | 垂直翻折 | optional,默认值 false |
| border_color | string | 边框颜色,16 进制 RGB 值 | optional,不设置时跟随主题配色 |
| theme_fill_color_code | int | 主题色表盘下填充颜色 code 值 | code 对应主题下填充颜色色表盘上颜色的下标值,同一个 code 值,对于不同主题会有不同的填充颜色,可以做到图形填充颜色随主题切换功能,具体可参考 主题简介。fill_color 字段用于设置图形的自定义填充颜色(不会随主题切换),theme_fill_color_code 指定填充颜色使用色表盘上 code 值对应的填充色。两者都设置时,fill_color 优先级高。 |
| theme_border_color_code | int | 主题色表盘下边框颜色 code 值 | code 对应主题下边框颜色色表盘上颜色的下标值,同一个 code 值,对于不同主题会有不同的边框颜色,可以做到图形边框颜色随主题切换功能,具体可参考 主题简介。border_color 字段用于设置图形的自定义边框颜色(不会随主题切换),theme_border_color_code 指定边框颜色使用色表盘上 code 值对应的颜色。两者都设置时,border_color 优先级高。 |
特殊节点属性
Image
图片图形节点属性。(图片类型没有填充样式)
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| token | string | 图片token,通过云文档下的素材上传接口 上传素材 上传图片后返回的 token | required |
CompositeShape
基础图形节点属性。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
type | string | 基础图形的具体类型(见基础图形细分) | required |
pie | object | 饼图属性 | optional |
└ start_radial_line_angle | float | 饼图开始径向边角度,x轴正向水平向右为0度,角度增长方向为顺时针方向 | required |
└ central_angle | float | 饼图圆心角角度,角度方向为开始径向边逆时针方向 | required |
└ radius | float | 饼图半径长度 | required |
└ sector_ratio | float | 饼图扇区占比,范围[0,1],0表示一个圆周线,1表示一个圆盘 | required |
Connector
连线图形节点属性。(连线类型没有填充样式)
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
start_object | connector.attached_object | 连线开始端点连接的图形,只读属性,使用下文中的 「start」,可以表示连接附着在图形上或连线没有附着图形时的坐标 | optional, read_only |
└ id | string | 连接图形的 id | optional |
└ snap_to | string | 连接图形的方向- top: 连接图形的上边 - right: 连接图形的右边 - bottom: 连接图形的下边 - left: 连接图形的左边 | optional |
└ position | point | 连线连接图形的相对坐标比例,x=0,y=0 表示图形的左上角,x=1,y=1 表示图形的右下角 | optional |
└ x | float | 连线连接图形的 x 相对坐标比例 | optional |
└ y | float | 连线连接图形的 y 相对坐标比例 | optional |
end_object | connector.attached_object | 连线结束端点连接的图形,只读属性,使用下文中的 「end」,可以表示连接附着在图形或连线没有附着图形时的位置坐标 | optional, read_only |
└ id | string | 连接图形的 id | optional |
└ snap_to | string | 连接图形的方向- top: 连接图形的上边 - right: 连接图形的右边 - bottom: 连接图形的下边 - left: 连接图形的左边 | optional |
└ position | point | 连线连接图形的相对坐标比例,x=0,y=0 表示图形的左上角,x=1,y=1 表示图形的右下角 | optional |
└ x | float | 连线连接图形的 x 相对坐标比例 | optional |
└ y | float | 连线连接图形的 y 相对坐标比例 | optional |
start | connector.info | 连线开始端点 | required |
└ attached_object | connector.attached_object | 连接图形信息 | optional |
└ id | string | 连接图形的 id | optional,position 与 attached_object 二选一 |
└ snap_to | string | 连接图形的方向- top: 连接图形的上边 - right: 连接图形的右边 - bottom: 连接图形的下边 - left: 连接图形的左边 | required |
└ position | point | 连线连接图形的相对坐标比例,x=0,y=0 表示图形的左上角,x=1,y=1 表示图形的右下角 | optional |
└ x | float | 连线连接图形的 x 相对坐标比例 | optional |
└ y | float | 连线连接图形的 y 相对坐标比例 | optional |
└ position | point | 连线端点在画板内的位置 | optional,position 与 attached_object 二选一 |
└ x | float | 点位置 x 坐标 | required |
└ y | float | 点位置 y 坐标 | required |
└ arrow_style | string | 连线端点箭头样式- none: 无箭头 - line_arrow: 线性箭头 - triangle_arrow: 三角形箭头 - empty_triangle_arrow: 空心三角形箭头 - circle_arrow: 圆形箭头 - empty_circle_arrow: 空心圆形箭头 - diamond_arrow: 菱形箭头 - empty_diamond_arrow: 空心菱形箭头 - single_arrow: 单箭头 - multi_arrow: 多箭头 - exact_single_arrow: 精确箭头 - zero_or_multi_arrow: 零个或多个箭头 - zero_or_single_arrow: 零个或单个箭头 - single_or_multi_arrow: 单个或多个箭头 - x_arrow: x 型箭头 | optional,默认无箭头 |
end | connector.info | 连线结束端点 | required |
└ attached_object | connector.attached_object | 连接图形信息 | optional |
└ id | string | 连接图形的 id | optional,position 与 attached_object 二选一 |
└ snap_to | string | 连接图形的方向- top: 连接图形的上边 - right: 连接图形的右边 - bottom: 连接图形的下边 - left: 连接图形的左边 | required |
└ position | point | 连线连接图形的相对坐标比例,x=0,y=0 表示图形的左上角,x=1,y=1 表示图形的右下角 | optional |
└ x | float | 连线连接图形的 x 相对坐标比例 | optional |
└ x | float | 连线连接图形的 y 相对坐标比例 | optional |
└ position | point | 连线端点在画板内的位置 | optional,position 与 attached_object 二选一 |
└ x | float | 点位置 x 坐标 | required |
└ y | float | 点位置 y 坐标 | required |
└ arrow_style | string | 连线端点箭头样式- none: 无箭头 - line_arrow: 线性箭头 - triangle_arrow: 三角形箭头 - empty_triangle_arrow: 空心三角形箭头 - circle_arrow: 圆形箭头 - empty_circle_arrow: 空心圆形箭头 - diamond_arrow: 菱形箭头 - empty_diamond_arrow: 空心菱形箭头 - single_arrow: 单箭头 - multi_arrow: 多箭头 - exact_single_arrow: 精确箭头 - zero_or_multi_arrow: 零个或多个箭头 - zero_or_single_arrow: 零个或单个箭头 - single_or_multi_arrow: 单个或多个箭头 - x_arrow: x 型箭头 | optional,默认无箭头 |
captions | connector.caption | 连线的文本 | optional |
└ data | Text[] | 文本 | optional |
shape | string | 连线样式- straight: 直线 - polyline: 折线 - curve: 曲线 - right_angled_polyline: 直角折线 | optional,默认为直线 |
turning_point | point[] | 连线转向点列表 | optional |
└ x | float | 连线转向点 x 坐标,相对于连线起始位置的 x 坐标 | required |
└ y | float | 连线转向点 y 坐标,相对于连线起始位置的 y 坐标 | required |
Section
分区图形节点属性。(分区图形不能设置文本内容,分区图形不能设置边框颜色,边框颜色是跟随填充颜色的。填充颜色也不支持自定义,具体支持的颜色值见主题描述)
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| title | string | 分区标题 | required |
Table
表格图形节点属性,当节点类型为 table、table_er、table_uml、combined_fragment 时含有表格属性。(可以对整个表格设置边框、填充、文本等样式,对单元格只能设置填充、文本样式)
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
title | string | 表格标题 | optional |
meta | table.meta | 表格元信息 | required |
└ row_sizes | float[] | 行高 | required |
└ col_sizes | float[] | 列高 | required |
└ row_num | int | 行数 | read_only |
└ col_num | int | 列数 | read_only |
└ style | style | 整个表格的样式,不单独设置单元格样式时复用表格样式,整个表格可以设置边框、填充样式,单元格内只能设置填充相关样式 | optional,不设置时跟随主题配置 |
└ text | text | 整个表格的文字样式,不单独设置单元格文字样式时复用表格文字样式 | optional,不设置时跟随主题配置 |
cells | table.cell[] | 表格单元格数据 | optional |
└ row_index | int | 行下标,从1开始 | required |
└ col_index | int | 列下标,从1开始 | required |
└ merge_info | table.cell.merge_info | 单元格合并信息 | optional |
└ row_span | int | 从当前行索引起被合并的连续行数 | required |
└ col_span | int | 从当前列索引起被合并的连续列数 | required |
└ children | string[] | 单元格包含的子节点 id | optional |
└ style | style | 单元格内填充样式,单元格只能设置填充颜色、透明度,不能设置边框相关属性 | optional,不设置时跟随表格样式 |
└ text | Text | 单元格内文字内容及样式 | optional |
Lifeline
生命线图形属性。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| size | float | 生命线长度 | optional,默认 360 |
| type | string | 生命线类型 - boundary: 边界生命线 - control: 控制生命线 - entity: 实体生命线 - data_base: 数据库生命线 - queue: 队列生命线 - collection: 集合生命线 - actor_lifeline: 角色生命线 - object_lifeline: 对象生命线 | optional |
Paint
画笔图形属性。(画笔类型没有填充样式)
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
type | string | 画笔类型- highlight: 高亮笔 - marker: 马克笔 | optional,默认 highlight |
lines | point[] | 画笔图形线段列表,由系列点坐标组成 | required |
└ x | float | 点 x 坐标 | required |
└ y | float | 点 y 坐标 | required |
width | int | 画笔宽度,单位 px,范围 1-43 | optional,默认 7 |
color | string | 画笔颜色,不设置时跟随主题配色 | optional |
StickyNote
便签节点属性。(便签节点没有边框样式)
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| user_id | string | 用户 id | required |
| show_author_info | boolean | 是否展示用户信息 | optional,默认为 true |
Svg
画笔图形属性。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| svg_code | string | svg 代码 | required |
MindMapRoot
思维导图根节点图形节点属性,思维导图根节点可以设置子节点的布局样式。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| layout | string | 思维导图节点布局方式 - left_right: 左右布局 - up_down: 上下布局 - tree_left: 左树布局 - tree_right: 右树布局 - tree_balance: 左右交替平衡树布局 - horizontal_time_line: 水平时间线布局 - vertical_time_line: 垂直时间线布局 | optional,默认左右布局 |
| type | string | 思维导图节点类型 - mind_map_text: 文本节点 - mind_map_full_round_rect: 全圆角矩形节点 - mind_map_round_rect: 圆角矩形节点 | optional,默认圆角矩形 |
| line_style | string | 思维导图节点分支连接线样式 - curve: 曲线 - right_angle: 直角折线 - round_angle: 圆角折线 | optional,默认圆角折线 |
| up_children | []string | 在根节点上方的子节点列表 | read only,只读属性,在 up_down 布局方式时可以设置子节点在根节点的上方 |
| down_children | []string | 在根节点下方的子节点列表 | read only,只读属性在上下布局方式时可以设置子节点在根节点的下方对于 tree_left, tree_right, tree_balance, vertical_time_line 这些布局方式,都认为子节点还是 down_children |
| left_children | []string | 在根节点左边的子节点列表 | read only,只读属性,在 left_right 布局方式时可以设置子节点在根节点的左边 |
| right_children | []string | 在根节点右边的子节点列表 | read only,只读属性,在 left_right 布局方式时可以设置子节点在根节点的右边对于 horizontal_time_line 布局,认为子节点是 right_children |
布局方式图示如下:
| 名称 | 描述 | 图示 |
|---|---|---|
| left_right | 左右布局 | ![]() |
| up_down | 上下布局 | ![]() |
| tree_left | 左树布局 | ![]() |
| tree_right | 右树布局 | ![]() |
| tree_balance | 平衡树布局 | ![]() |
| horizontal_time_line | 水平时间线布局 | ![]() |
| vertical_time_line | 垂直时间线布局 | ![]() |
MindMapNode
思维导图非根节点图形节点属性。作为根节点的一级子节点时,可以在上下布局/左右布局时指定节点在上/下/左/右方向。其它层级子节点设置方向不生效。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| parent_id | string | 思维导图父节点 id | require |
| type | string | 思维导图节点类型 - mind_map_text: 文本节点 - mind_map_full_round_rect: 全圆角矩形节点 - mind_map_round_rect: 圆角矩形节点 | optional,默认文本节点 |
| z_index | int | 思维导图节点在兄弟节点中的位置,按照从小到大排列展示 | optional,默认为在兄弟节点列表队尾 |
| layout_position | string | 根节点下的子节点设置相对于根节点的位置方向,对于 up_down、left_right 布局时可以指定方向 - up: 位于根节点上方 - down: 位于根节点下方 - left: 位于根节点左边 - right: 位于根节点右边 | optional,left_right 布局时默认 right, up_down 布局时默认 down |
| children | []string | 思维导图子节点 id | optional |
MindMap
思维导图属性,不再使用,只读,使用 MindMapRoot 或 MindMapNode 属性表示。
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| parent_id | string | 思维导图父节点 id | optional |
节点数据结构
| 名称 | 数据类型 | 描述 | 属性 |
|---|---|---|---|
| id | string | 节点 id | optional,在批量创建含父子关系的节点时,可用于标识父节点,保证在批量创建中 id 唯一,仅用于标识作用 |
| type | string | 节点类型,见上文节点类型 | required |
| parent_id | string | 父节点 id | optional |
| children | []string | 子节点 id | read_only |
| x | float | 图形相对画布的 x 轴位置信息(存在父容器时为相对父容器的坐标),单位为 px | optional,默认为 100 |
| y | float | 图形相对画布的 y 轴位置信息(存在父容器时为相对父容器的坐标),单位为 px | optional,默认为 100 |
| angle | float | 旋转角度 | optional,默认值 0 |
| width | float | 图形宽度,单位为 px | required |
| height | float | 图形高度,单位为 px | required |
| locked | bool | 图形是否锁定,锁定后无法编辑 | optional,默认为 false |
| z_index | int | 在父节点下的层级大小,节点图形存在重叠时,层级小的会被覆盖 | optional,默认 0 |
| text | Text | 图形文字,基础属性 | optional |
| style | Style | 图形样式,基础属性 | optional |
| image | Image | 图片属性,对应type=image | optional |
| composite_shape | CompositeShape | 基础图形属性,对应type=composite_shape | optional |
| connector | Connector | 连线图形属性,type=connector | optional |
| section | Section | 分区图形属性,对应type=section | optional |
| table | Table | 表格属性,对应type=table,table_er,table_uml,combined_fragment | optional |
| paint | Paint | 画笔属性,对应type=paint | optional |
| lifeline | Lifeline | 生命线属性,对应type=lifeline | optional |
| sticky_note | StickyNote | 便签属性,对应type=sticky_note | optional |
| svg | Svg | svg属性,对应type=svg | optional |
| mind_map | MindMap | 思维导图属性,对应type=mind_map,不再使用 | read_only |
| mind_map_root | MindMapRoot | 思维导图根节点属性,对应type=mind_map | optional |
| mind_map_node | MindMapNode | 思维导图子节点属性,对应type=mind_map | optional |









































































