平台接口全局属性
平台接口的「全局属性」指不属于某个具体组件、而是整个接口或所有节点共通的配置项,包括接口基础信息、流程图编辑器通用设置,以及每个节点都会出现的通用属性。
概述
在配置任何一个组件之前,需要先理解两类通用配置:
- 接口级属性:在接口列表中新建/编辑时填写(名称、标签、描述),决定接口的标识与检索方式。
- 节点级通用属性:选中任意节点后,属性面板顶部与底部的固定字段(
ID、名称、描述、order、IsDisabled、IsFinalResult),所有组件都具备。
此外,条件类配置(默认查询条件、条件分支)共用同一套「基础 / 高级」编辑模式与查询条件格式。
配置项
接口级属性
在「开发中心 → 应用 → 实体对象 → 平台接口」列表中新建接口时配置:
| 配置项 | 说明 |
|---|---|
| 名称 | 接口显示名称,必填 |
| 标签 | 接口用途标签,可多选,用于在数据源选择器中按用途筛选 |
| 描述 | 接口功能说明,建议填写业务范围 |
新建接口成功后,系统会自动跳转到该接口的流程编排页;编辑接口停留在列表。
标签可选值:字段数据源(FieldDs)、组件数据源(DataCmpDs)、图表数据源(ChartDs)、组件数据源(WidgetDs)、功能接口(Function)、MOU 数据权限(Mou)、审批人数据源(ApprovalUser)。
节点级通用属性
选中画布中任意节点后,属性面板展示以下通用字段:
| 配置项 | 说明 |
|---|---|
| ID | 节点唯一标识,只读,由画布生成(对应 cellId) |
| 名称 | 组件名称,只读,由组件类型决定 |
| 描述 | 组件功能说明,只读,由组件类型决定 |
| 排序 | 同一层级节点内的执行顺序,整数,范围 0–999 |
| 禁用当前节点 | 是否禁用该节点;仅接口场景支持,固定节点(开始/结束等)不显示该开关 |
| 输出到最终结果 | 是否将该节点的执行结果作为接口返回;仅接口场景支持 |
「禁用当前节点」与「输出到最终结果」仅在平台接口场景出现(由 enableNodeDisabled、enableFinalResult 控制)。审批流与对象触发器在后台运行,不向调用方返回值,因此不显示这两项。
条件通用配置
查询条件类组件(查询集合、查询单条、查询数量、分组聚合查询、数据源)与条件分支组件共用同一套条件编辑器。编辑器支持两种模式:
| 模式 | 值 | 说明 |
|---|---|---|
| 基础 | basic | 通过界面逐项增删条件,只支持单层「并且 / 或者」组合 |
| 高级 | advanced | 直接编辑条件 JSON,支持任意嵌套 |
两种模式各自保存一份值(BasicFilter 与 DefaultFilter),切换模式 不会覆盖另一份。当高级条件存在嵌套时,不允许切换到基础模式。
节点通用属性明细
以下内容面向技术实现与 AI 检索,说明节点元数据(meta)中的通用字段。
元数据键
节点的元数据以「字符串键值对」形式保存在画布数据中,键名区分大小写:
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
type | string | 组件类型,决定使用哪个组件实现 | 见 组件一览,如 DbQueryList |
ID | string | 节点唯一标识 | 画布生成的 cellId |
order | string(数字) | 同级排序 | "0" ~ "999" |
IsDisabled | string(bool) | 是否禁用节点 | "true" / "false",缺省视为未禁用 |
IsFinalResult | string(bool) | 是否输出到最终结果 | "true" / "false" |
流程引擎要求每个节点元数据的值都是字符串(注释中明确 "every node meta value has to be a string"),因此布尔、数字、列表等都会以字符串形式存储,例如多选字段保存为逗号分隔串 "Name,Code",赋值项列表保存为 JSON 字符串 "[{...}]"。
节点元数据存储示例
{
"ID": "n1",
"type": "DbQueryList",
"order": "1",
"IsDisabled": "false",
"IsFinalResult": "true",
"MetaObjectId": "3f9c0b2e-2d3a-4e6f-9c11-0f7a5b8d2e10",
"ConditionMode": "basic",
"BasicFilter": "{\"Logic\":\"and\",\"Filters\":[{\"Field\":\"isdeleted\",\"Operator\":\"eq\",\"Value\":false}]}",
"QueryFields": "Name,Code",
"Sort": "[{\"Field\":\"createdtime\",\"Type\":-1}]"
}
条件存储格式
基础条件与高级条件统一存储为条件配置对象(ConditionConfig):
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
Logic | string | 子条件之间的逻辑关系 | and(并且)/ or(或者) |
Filters | 数组 | 条件项列表 | 每项为 { Field, Operator, Value, ValueType, ValueSetType } |
Field | string | 字段编码 | 实体字段的 Code |
Operator | string | 操作符 | 见 查询操作符 |
Value | any | 比较值 | 直接值或表达式结果 |
ValueType | string | 值类型 | 见 FilterValueType |
ValueSetType | string | 取值方式 | Direct(直接填值)/ Razor(Razor 表达式) |
基础条件存储示例:
{
"Logic": "and",
"Filters": [
{ "Field": "status", "Operator": "eq", "Value": "Approved", "ValueType": "String", "ValueSetType": "Direct" },
{ "Field": "amount", "Operator": "gte", "Value": "1000", "ValueType": "Number", "ValueSetType": "Direct" }
]
}
编辑器通用行为
| 行为 | 说明 |
|---|---|
| 未完成行不保存 | 条件行缺少字段或操作符时会被丢弃,不会写入存储值 |
| 数值源字段回显 | 数据源类字段存储的是选项值,界面会请求数据源将其翻译为选项名显示 |
| Razor 表达式 | 取值方式为 Razor 时使用 C# 代码编辑器,条件行以「Razor」标签标识 |
| 撤销/重做联动 | 外部(撤销、重做)改变条件模式时,编辑器会同步跟随 |