流程编排(LogicFlow)

简介:

LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和简单灵活的节点自定义、插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求。
vue litefolw实现
liteflow-logicflow-vue实现

特性:

组件定义统一: 所有的逻辑都是组件,为所有的逻辑提供统一化的组件实现方式,小身材,大能量。
规则轻量: 基于规则文件来编排流程,学习规则入门只需要5分钟,一看既懂。
规则多样化: 规则支持xml、json、yml三种规则文件写法方式,喜欢哪种用哪个。
任意编排: 再复杂的逻辑过程,利用LiteFlow的规则,都是很容易做到的,看规则文件就能知道逻辑是如何运转的。
规则持久化: 框架原生支持把规则存储在标准结构化数据库,Nacos,Etcd,Zookeeper,Apollo,redis。您也可以自己扩展,把规则存储在任何地方。
优雅热刷新机制: 规则变化,无需重启您的应用,即时改变应用的规则。高并发下不会因为刷新规则导致正在执行的规则有任何错乱。
支持广泛: 不管你的项目是不是基于Springboot,Spring还是任何其他java框架构建,LiteFlow都能游刃有余。
JDK支持: 从JDK8到JDK17,全部支持。无需担心JDK版本。
Springboot支持全面: 支持Springboot 2.X到最新的Springboot 3.X。
脚本语言支持: 可以定义脚本语言节点,支持Groovy,Javascript,QLExpress,Python,Lua,Aviator,Java。未来还会支持更多的脚本语言。
脚本和Java全打通: 所有脚本语言均可调用Java方法,甚至于可以引用任意的实例,在脚本中调用RPC也是支持的。
规则嵌套支持: 只要你想的出,你可以利用简单的表达式完成多重嵌套的复杂逻辑编排。
组件重试支持: 组件可以支持重试,每个组件均可自定义重试配置和指定异常。
上下文隔离机制: 可靠的上下文隔离机制,你无需担心高并发情况下的数据串流。
声明式组件支持: 你可以让你的任意类秒变组件。
详细的步骤信息: 你的链路如何执行的,每个组件耗时多少,报了什么错,一目了然。
稳定可靠: 历时2年多的迭代,在各大公司的核心系统上稳定运行。
性能卓越: 框架本身几乎不消耗额外性能,性能取决你的组件执行效率。
自带简单监控: 框架内自带一个命令行的监控,能够知道每个组件的运行耗时排行。


场景适用:

LiteFlow是一款编排式的规则引擎,最擅长去解耦你的系统,如果你的系统业务复杂,并且代码臃肿不堪,那LiteFlow框架会是一个非常好的解决方案。

LiteFlow利用规则表达式为驱动引擎,去驱动你定义的组件。

在这里插入图片描述

集成:

Vue.js中,我们可以利用`LogicFlow`库来构建流程编排器。以下是一个简单的例子,展示如何在一个Vue组件中集成`LogicFlow`: 首先,你需要安装`LogicFlow`库,如果尚未安装,可以使用npm或yarn: ```bash npm install logicflow logicflow-editor # 或者 yarn add logicflow logicflow-editor ``` 然后,在你的Vue组件里,你可以这样操作: ```html <template> <div id="logic-container" ref="logicContainer"> <!-- 使用v-if展示逻辑流程编辑器 --> <lf-editor v-if="showEditor"></lf-editor> <!-- 隐藏时只显示流程--> <lf-preview v-else></lf-preview> </div> </template> <script> import { LogicFlow, LFEditor, LFPreview } from 'logicflow'; import 'logicflow/dist/lf.css'; export default { components: { LFEditor, LFPreview }, data() { return { showEditor: false, // 初始状态,隐藏编辑器 config: {} // 这里可以根据需要设置默认配置 }; }, mounted() { this.initLogicFlow(); }, methods: { initLogicFlow() { if (this.showEditor) { this.lf = new LogicFlow({ ...this.config, container: this.$refs.logicContainer }); } } // 更多方法,比如保存、删除等逻辑 // onSave() {...}, // onDelete() {...} }, }; </script> ``` 在这个例子中,我们有一个开关`showEditor`来切换是否显示编辑器。当用户想要编辑流程时,可以将`showEditor`设为`true`,展示逻辑流程编辑器。`LFEditor`和`LFPreview`分别负责编辑和查看模式。 记得根据实际需求替换`config`配置,并添加适当的事件监听器和业务逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值