平台接口
平台接口(Platform Interface)是 Chameleon 的可视化编程系统,通过拖拽组件、连线编排的方式实现业务逻辑,无需手写代码即可完成数据读写、流程控制、脚本计算与服务调用等复杂场景。
概述
平台接口挂在实体对象下,一个接口即一张流程图。流程图由「开始」节点、「结束」节点以及中间的业务组件构成,组件之间通过连线表达执行顺序。开发者在属性面板右侧配置每个组件的参数,保存并发布后即可被表单按钮、视图按钮、触发器、审批流或外部 API 调用。
平台接口的核心要素:
| 要素 | 说明 |
|---|---|
| 流程图 | 由节点(组件)和边(连线)组成的逻辑图,存储在接口的版本记录中 |
| 组件 | 流程中的最小功能单元,每个组件对应一项具体操作,如查询数据、写脚本 |
| 属性面板 | 选中节点后在右侧展开的配置区,用于填写该组件的参数 |
| 开始 / 结束节点 | 引擎固定节点,分别为流程入口与出口,不可删除 |
| 输出到最终结果 | 接口场景特有开关,开启后该组件的执行结果会作为接口的返回值 |
概念说明
本文档是 平台接口 概念文档的功能说明。建议先阅读概念文档了解整体定位,再查阅本模块的组件配置细节。
组件分类
平台接口画布左侧的组件面板按类别分组,共六类:
| 分类 | 说明 | 组件 |
|---|---|---|
| 基础组件 | 流程的入口、出口与调试 | Start、End、Debug |
| 数据操作 | 实体的增删改查、导入导出与数据源 | DbInsert、DbUpdate、DbBatchUpdateField、DbUpdateField、DbLogicDelete、DbDelete、DbQueryList、DbQuerySingle、DbQueryCount、DbQueryGroup、DbDataSource、DataTranslate、DataExport、DbImport、DataImportParse |
| 流程控制 | 条件分支与多路分支 | FlowCondition、Switch、SwitchCase、SwitchDefault |
| 高级组件 | 脚本、服务调用、数据权限、消息通知等 | Async、CSharpScript、JsonScript、ServiceCall、Workflow、Mou、CustomResponse、Notification |
| 审批流节点 | 审批流画布专用节点 | ApproveStart、ApproveEnd、ApproveNode、ApproveCondition、ApproveAutoHandle |
| 对象触发器 | 触发器画布专用入口 | TriggerStart |
各类组件在接口画布中的分组与顺序由前端 getMetaInterfaceSidebarItemConfig 统一配置。
组件一览
下表列出全部组件类型、对应的枚举名与文档入口。类型名与代码枚举完全一致,区分大小写。
| 组件 | 类型(枚举) | 分类 | 说明 |
|---|---|---|---|
| 开始 | Start | 基础组件 | 流程入口,初始化请求上下文 |
| 结束 | End | 基础组件 | 流程出口,返回执行结果 |
| 调试 | Debug | 基础组件 | 输出上下文用于排查问题 |
| 同步写入 | DbInsert | 数据操作 | 向实体对象插入一条记录 |
| 更新数据 | DbUpdate | 数据操作 | 按条件更新实体记录 |
| 批量字段赋值 | DbBatchUpdateField | 数据操作 | 一次配置多条字段赋值 |
| 字段赋值 | DbUpdateField | 数据操作 | 对单个字段赋值 |
| 逻辑删除 | DbLogicDelete | 数据操作 | 标记 IsDeleted 的软删除 |
| 物理删除 | DbDelete | 数据操作 | 从数据库永久删除 |
| 查询集合 | DbQueryList | 数据操作 | 分页查询记录列表 |
| 查询单条 | DbQuerySingle | 数据操作 | 查询单条记录 |
| 查询数量 | DbQueryCount | 数据操作 | 统计记录数量 |
| 分组聚合查询 | DbQueryGroup | 数据操作 | 分组的聚合统计 |
| 数据源 | DbDataSource | 数据操作 | 生成下拉选项等数据源 |
| 数据翻译 | DataTranslate | 数据操作 | 对多语言字段做翻译/还原 |
| 数据导出 | DataExport | 数据操作 | 导出 Excel 文件 |
| 数据导入 | DbImport | 数据操作 | 按模板导入数据 |
| 导入数据解析 | DataImportParse | 数据操作 | 解析导入文件 |
| 条件分支 | FlowCondition | 流程控制 | 条件判断与分支 |
| 多路分支 | Switch | 流程控制 | 基于脚本结果的多路分支 |
| 匹配分支 | SwitchCase | 流程控制 | 多路分支中的匹配项 |
| 默认分支 | SwitchDefault | 流程控制 | 多路分支的兜底分支 |
| 异步任务 | Async | 高级组件 |