Flow Designer

Flow Designer 是 AuraBoot 可复用的节点-边编辑器。BPMN Workflow 使用专用的流程 Designer,而 Flow Designer 则为自定义的类 Workflow 体验提供更通用的图基础。
用例
当业务领域自然地由节点经边相连表示,但又并不必然是一个 BPMN 流程时,使用 Flow Designer。
示例:
- 自动化链路
- 数据补全 Pipeline
- 决策树
- 集成路由
- Plugin 中的自定义可视化搭建器
如果 Workflow 需要正式的 User Task、Gateway、流程部署与任务管理,请改用 BPMN Designer。
核心概念
| 概念 | 描述 |
|---|---|
| Node 定义 | 已注册的节点类型,包含图标、标签、默认值与属性 schema |
| Edge | 两个节点之间的连接 |
| 画布 | 可拖拽、平移、缩放、选择与连线的区域 |
| 属性 schema | 元数据驱动的字段,在选中节点时展示 |
| Store | Designer 使用的运行时图状态 |
这让 Flow 编辑器可复用。Plugin 作者可以注册节点类型和属性编辑器,而无需重写画布。
节点注册表
自定义 Flow 应从节点注册表起步。每种节点类型应定义:
- 稳定的类型 code
- 显示标签与描述
- 输入和输出 handle
- 默认配置
- 属性 schema
- 校验规则
节点定义需谨慎做版本管理。一旦用户保存了 Flow,修改节点的预期配置可能破坏既有元数据。
属性编辑
Flow Designer 使用 schema 驱动的属性面板。这使节点配置与其他 Designer 保持一致,并减少手写 React 面板的需要。
良好的属性 schema 应定义:
- 字段类型
- 标签与帮助文本
- 必填字段
- 默认值
- 选项列表
- 条件可见性
- 校验约束
校验
可用的 Flow Designer 同时校验图形态与节点配置。
| 校验目标 | 示例 |
|---|---|
| 图形态 | 必需的起始节点存在 |
| 连线 | 节点输出可连接到目标输入 |
| 节点配置 | 已设置必需的 endpoint 或 Command code |
| 环路 | 业务领域是否允许或禁止环路 |
| 兼容性 | 已保存的元数据版本与 runtime 支持匹配 |
校验应给出可执行的提示,而不仅仅是"flow 无效"。
Plugin 作者指南
在 Flow Designer 之上构建 Plugin 时:
- 让节点类型保持小而可组合
- 使用 schema 驱动的属性
- 把 Flow 元数据存储为 JSON,而不是嵌入式 UI 状态
- 当 Flow 需要 Git 评审时,加入导入/导出支持
- 为节点注册和序列化添加测试