橙武低代码演示:
地址:橙武低代码
账号:13800000001/123456
前言
在橙武低代码平台的架构设计中,“业务逻辑编排”并不是锦上添花的功能,而是决定平台扩展能力的根基之一。对内,它承担着流程驱动、条件分支、异步节点、子流程等任务;对外,它决定了平台能否真正支持多行业、多租户的复杂业务建模需求。
我们评估过包括 BPMN.js、ReactFlow、AntV G6、JointJS 等多种图形与流程编排引擎,最终选择了 滴滴开源的 LogicFlow 作为橙武平台的核心业务流程引擎。本篇文章将详细解释为何选择 LogicFlow,以及它在我们的实践中如何脱颖而出。
一、为什么我们需要流程编排引擎?
传统的表单驱动平台,只能支持“提交 -> 审核 -> 结束”这样线性的流程。而现代企业系统往往要求:
审核流程需支持条件判断(如金额大于10万需要总经理审批);
支持并行处理(如多个部门同时审批);
可以引入自动化节点(调用接口、发送通知);
支持子流程调用与流程跳转;
流程变更后可即时生效,不需代码部署;
所有流程均需版本可控,可追溯历史;
这些需求要求我们构建一套完整的“图形化逻辑编排平台”,而不仅是审批流引擎。因此,我们在前端层引入了一套支持流程图 + 节点业务逻辑绑定 + 后端编排调度的完整体系,LogicFlow 成为其中的核心图形层。
二、LogicFlow 简介:开发者友好的流程图引擎
LogicFlow 是滴滴于 2020 年开源的一款流程图编排工具,定位于“开发者友好的流程图框架”。它底层使用 SVG 渲染,封装了常用节点、边、锚点、事件体系,并可高度自定义节点行为与样式。
主要特点包括:
🧱 内置基础图元:包括开始节点、判断节点、用户节点、系统节点、结束节点等;
🔗 灵活的边连接机制:支持连线、锚点控制、条件线;
⚙️ 事件机制完备:节点点击、连线、移动、删除等均可监听;
🛠 高度可定制化:可注册自定义节点、扩展右键菜单、添加浮动按钮;
📄 基于 JSON 的数据结构:流程图与后端可序列化交互;
🧠 明确的业务语义模型:强调“每个图元都有业务含义”。
这与 G6、ReactFlow 等主要强调图形表现力的通用图引擎不同,LogicFlow 是为“流程业务建模”而生的,语义优先,这是我们最看重的一点。
三、我们评估过哪些方案?横向对比分析
我们曾比较过以下几种流程类工具,它们各有长短:
特性维度 | LogicFlow | BPMN.js | ReactFlow | AntV G6 |
---|---|---|---|---|
开源许可 | MIT | MIT | MIT | Apache 2.0 |
图形渲染 | SVG | SVG | HTML + Canvas | Canvas |
流程语义支持 | ✅ 内建常用节点,业务导向 | ✅ BPMN 标准,结构严谨 | ❌ 自由图形,无语义 | ❌ 偏图形引擎 |
自定义能力 | ✅ 高,注册节点/菜单/命令 | ❌ 受限于 BPMN 标准 | ✅ 高,但无流程语义 | ✅ 图形自定义丰富 |
易上手程度 | ✅ 高 | ❌ 学习曲线陡峭 | ✅ 中 | ❌ 需要大量定制 |
适配低代码 | ✅ Schema 配合良好 | ❌ 表达冗余 | ❌ 无数据驱动能力 | ❌ 需自己构建一整套模型 |
我们的结论:
BPMN.js 更适合标准化组织,如银行或政务系统,有强规范需求;
ReactFlow 更适合构建自由图形交互,如图数据库可视化;
AntV G6 是“图引擎”,不是“流程引擎”,需自己补完大量语义;
LogicFlow 最适合我们这种“需要表达真实业务逻辑”的低代码平台。
四、LogicFlow 在橙武平台中的应用实践
我们将 LogicFlow 深度集成进橙武平台,形成了自己的“流程编排子系统”。用户通过界面即可拖拽节点、配置逻辑,系统自动生成 JSON 流程定义并执行。
1. 节点类型扩展
除了官方节点外,我们扩展了如下节点:
接口节点:支持调用外部 API,可配置请求参数与响应处理;
条件判断节点:支持布尔表达式或变量值匹配;
人工节点:绑定用户组,发起任务处理;
Amis 表单节点:将 Amis 组件与节点挂钩,实现数据采集;
脚本执行节点:配置 Pebble 模板语法的表达式动态计算结果;
通知节点:推送到微信、短信或系统内通知模块。
2. 可视化流程编辑器
我们二次封装 LogicFlow:
支持节点双击弹出配置面板(基于 Drawer + JSON 编辑器);
右键菜单支持“复制节点”“设置条件”“设为起点”等自定义命令;
使用
@logicflow/extension
插件集成对齐线、吸附线、键盘快捷键;自动布局插件优化流程美观度;
多语言支持:节点 label 与字段国际化配置;
3. 与后端执行引擎结合
流程 JSON 保存后,将交由后端进行“解释执行”:
每个节点类型注册对应的处理器类;
使用状态机方式驱动流程流转;
节点执行状态支持回写(成功 / 失败 / 重试);
结合机构权限体系,执行流程时可按角色鉴权;
支持版本回滚与流程图历史对比。
4. 多租户与 SaaS 模式适配
我们为每个应用 / 机构独立维护流程定义,流程中支持:
应用变量占位符(如
${app.id}
);条件分支使用 Pebble 模板支持复杂判断;
多语言与租户样式隔离;
可导出 / 导入流程模板作为“租户初始化包”使用;
五、总结:为何 LogicFlow 是流程编排的理想之选?
归纳来看,LogicFlow 能在橙武平台中胜出,原因在于:
✅ 面向开发者的开放架构,灵活度极高;
✅ 支持流程语义建模,适合复杂业务抽象;
✅ 原生 JSON 流式定义,便于与后端系统集成;
✅ 插件机制成熟,可快速二次开发;
✅ 生态活跃,维护频繁,文档完善。
最关键的是,LogicFlow 不是通用图形工具,而是为**“业务流程图”**场景量身打造的。相比于 BPMN 的繁复、ReactFlow 的自由、G6 的底层,LogicFlow 恰好处于“语义明确 + 定制灵活 + 易开发”的平衡点,非常契合低代码平台对“图形表达 + 执行落地”的双重诉求。