平台接口
平台接口(Platform Interface)是 Chameleon 平台的可视化编程系统,用于实现业务逻辑。通过组件化方式编排业务逻辑,无需编写代码即可实现复杂业务场景。
概述
平台接口是 Chameleon 平台实现业务逻辑的核心方式。通过可视化的流程编排,将复杂的业务逻辑拆解为一个个独立的组件,通过组件的组合实现完整的业务功能:
- 数据操作:增删改查等数据操作
- 流程控制:条件判断、循环等流程控制
- 第三方集成:调用外部 API 接口
- 自动化任务:定时任务、事件触发
平台接口的核心价值
- 低代码开发:通过拖拽组件实现业务逻辑
- 可视化编排:流程图方式直观展示业务逻辑
- 版本管理:支持接口版本控制和回滚
- 在线调试:实时测试接口执行效果
组件分类
平台接口提供以下类型的组件:
基础组件
| 组件 | 说明 |
|---|---|
| 开始 | 流程图的起始节点,一个完整的流程图必须包含开始节点 |
| 结束 | 流程图的结束节点,一个完整的流程图必须包含结束节点 |
| 异步任务 | 异步执行耗时操作,避免耗时任务持续等待,提前返回结果,任务在后台继续执行 |
| 调试 | 输出调试信息,用于开发调试 |
数据操作组件
| 组件 | 说明 |
|---|---|
| 字段赋值 | 批量为一个或多个字段设置值,支持固定值、内置函数、动态计算等多种赋值方式 |
| 数据写入 | 向实体写入数据,支持字段映射和数据转换 |
| 数据更新 | 更新实体数据,支持条件筛选和批量更新 |
| 数据删除 | 删除实体数据,支持软删除和硬删除 |
| 数据查询 | 查询实体数据,支持条件筛选、排序和分页 |
流程控制组件
| 组件 | 说明 |
|---|---|
| 条件分支 | 根据条件执行不同分支,支持 IF-ELSE 逻辑 |
| 多路分支 | 多条件分支匹配,采用 switch/case 模式,支持多个 case 和 default |
高级组件
| 组件 | 说明 |
|---|---|
| C# 脚本 | 执行 C# 代码,实现复杂的业务逻辑处理 |
| JSON 脚本 | 执行 JSON 数据处理,支持数据转换和映射 |
| 服务 API 调用 | 调用外部 API 接口,支持 RESTful 风格的 HTTP 请求 |
| 消息通知 | 发送消息通知,支持站内信、邮件等方式 |
组件结构
每个组件包含以下核心要素:
输入参数
组件接收的数据,来源包括:
- 上一个组件的输出
- 表单数据
- 系统变量
- 环境变量
处理逻辑
组件执行的操作:
- 数据处理
- 条件判断
- 接口调用
- 消息发送
输出结果
组件产生的数据:
- 处理后的数据
- 查询结果
- 执行状态
执行流程
执行顺序
- 触发执行:按钮点击、数据事件等触发接口
- 初始化上下文:加载表单数据、用户信息等
- 组件执行:按顺序执行各组件
- 结果返回:返回执行结果
触发方式
| 触发类型 | 说明 | 使用场景 |
|---|---|---|
| 按钮点击 | 表单按钮触发 | 提交表单、执行操作 |
| 数据事件 | 数据变更触发 | 数据同步、通知发送 |
| 定时任务 | 定时执行 | 数据统计、定期清理 |
| API调用 | 外部接口调用 | 系统集成、数据同步 |
接口调试
在线测试
在接口编辑器中直接测试接口执行:
- 点击"测试"按钮
- 输入测试参数
- 执行接口
- 查看执行结果
版本管理
版本保存
每次保存接口都会创建新版本:
- 版本号自动递增
- 保存版本说明
- 记录修改内容
版本回滚
可以回滚到历史版本:
- 查看版本历史
- 选择目标版本
- 执行回滚操作
版本对比
对比不同版本的差异:
- 组件变更
- 参数变更
- 配置变更
最佳实践
接口设计
- 单一职责:一个接口完成一个功能
- 参数校验:在开始组件校验输入参数
- 错误处理:使用条件判断处理异常情况
性能优化
- 避免循环调用接口
- 批量操作代替单条操作
- 合理使用异步任务
安全考虑
- 校验用户权限
- 过滤敏感数据
- 防止 SQL 注入