当前位置: 首页 > news >正文

业务流逻辑如何搭建?为何橙武平台选用了 LogicFlow?​

橙武低代码演示:

地址:橙武低代码

账号:13800000001/123456

前言

在橙武低代码平台的架构设计中,“业务逻辑编排”并不是锦上添花的功能,而是决定平台扩展能力的根基之一。对内,它承担着流程驱动、条件分支、异步节点、子流程等任务;对外,它决定了平台能否真正支持多行业、多租户的复杂业务建模需求。

我们评估过包括 BPMN.js、ReactFlow、AntV G6、JointJS 等多种图形与流程编排引擎,最终选择了 滴滴开源的 LogicFlow 作为橙武平台的核心业务流程引擎。本篇文章将详细解释为何选择 LogicFlow,以及它在我们的实践中如何脱颖而出。


一、为什么我们需要流程编排引擎?

传统的表单驱动平台,只能支持“提交 -> 审核 -> 结束”这样线性的流程。而现代企业系统往往要求:

  • 审核流程需支持条件判断(如金额大于10万需要总经理审批);

  • 支持并行处理(如多个部门同时审批);

  • 可以引入自动化节点(调用接口、发送通知);

  • 支持子流程调用与流程跳转

  • 流程变更后可即时生效,不需代码部署;

  • 所有流程均需版本可控,可追溯历史;

这些需求要求我们构建一套完整的“图形化逻辑编排平台”,而不仅是审批流引擎。因此,我们在前端层引入了一套支持流程图 + 节点业务逻辑绑定 + 后端编排调度的完整体系,LogicFlow 成为其中的核心图形层。


二、LogicFlow 简介:开发者友好的流程图引擎

LogicFlow 是滴滴于 2020 年开源的一款流程图编排工具,定位于“开发者友好的流程图框架”。它底层使用 SVG 渲染,封装了常用节点、边、锚点、事件体系,并可高度自定义节点行为与样式。

主要特点包括:

  • 🧱 内置基础图元:包括开始节点、判断节点、用户节点、系统节点、结束节点等;

  • 🔗 灵活的边连接机制:支持连线、锚点控制、条件线;

  • ⚙️ 事件机制完备:节点点击、连线、移动、删除等均可监听;

  • 🛠 高度可定制化:可注册自定义节点、扩展右键菜单、添加浮动按钮;

  • 📄 基于 JSON 的数据结构:流程图与后端可序列化交互;

  • 🧠 明确的业务语义模型:强调“每个图元都有业务含义”。

这与 G6、ReactFlow 等主要强调图形表现力的通用图引擎不同,LogicFlow 是为“流程业务建模”而生的,语义优先,这是我们最看重的一点。


三、我们评估过哪些方案?横向对比分析

我们曾比较过以下几种流程类工具,它们各有长短:

特性维度LogicFlowBPMN.jsReactFlowAntV G6
开源许可MITMITMITApache 2.0
图形渲染SVGSVGHTML + CanvasCanvas
流程语义支持✅ 内建常用节点,业务导向✅ 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 恰好处于“语义明确 + 定制灵活 + 易开发”的平衡点,非常契合低代码平台对“图形表达 + 执行落地”的双重诉求。

http://www.lryc.cn/news/596683.html

相关文章:

  • day19 链表
  • 程序是如何生成的-以c语言为例
  • 信息学奥赛一本通 1553:【例 2】暗的连锁
  • 前端_CSS复习
  • 【React 入门系列】React 组件通讯与生命周期详解
  • 高可用架构模式——数据集群和数据分区
  • 单细胞转录组学+空间转录组的整合及思路
  • OneCode3.0 UI组件注解详解手册
  • 【vscode】vscode中python虚拟环境的创建
  • 回调地狱及解决方法
  • error C++17 or later compatible compiler is required to use ATen.
  • 【coze扣子】第1篇:coze快速入门
  • 威胁情报:Solana 开源机器人盗币分析
  • 以Java程序员角度理解MCP
  • 学习游戏制作记录(战斗系统简述以及击中效果)7.22
  • [c++11]std::function/bind
  • 基于SpringBoot+Vue的班级管理系统(Echarts图形化分析)
  • 101.对称二叉树
  • ubuntu 20.04 安装 cmake 3.26
  • VS Code 美化插件
  • 3ds Max 云端渲染插件 - 完整 Python 解决方案
  • Mysql-场景篇-2-线上高频访问的Mysql表,如何在线修改表结构影响最小?-1--Mysql8.0版本后的INSTANT DDL方案(推荐)
  • 基于mysql云数据库创建和美化表格,对比分析Power BI和Quick BI的功能优劣
  • 基于eBPF的Kubernetes网络故障自愈系统设计与实现
  • AI一周事件(2025年7月15日-7月21日)
  • 【Spring AI 0基础教程】1、基础篇 环境搭建 - 智能天气预报助手
  • 数据资产——解读数据资产全过程管理手册2025【附全文阅读】
  • 【时时三省】(C语言基础)指向函数的指针
  • 发票识别在费控系统应用剖析
  • Dify-13: 文本生成API端点