Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 关于我们
  • 广告合作
  • 网站投稿
  • 文章标签
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
提交资源 / 链接反馈

LogicFlow

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:https://logic-flow.org
GitHub:https://github.com/didi/LogicFlow
网站描述:开源支持前端快速实现流程图神器
访问官网 GitHub
LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和简单灵活的节点自定义、插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求。


介绍

LogicFlow 是一款基于 html5 和 JavaScript 技术的开源前端流程图编辑框架,它提供了丰富的功能和灵活的扩展机制,适用于各种逻辑编排场景。该框架支持多种数据格式的渲染,并且对外提供许多 api,可以自定义节点和菜单,如流程图、ER图、BPMN流程等。在工作审批流配置、机器人逻辑编排、无代码平台流程配置都有较好的应用。


核心能力

  • 可视化模型:通过 LogicFlow 提供的直观可视化界面,用户可以轻松创建、编辑和管理复杂的逻辑流程图。
  • 高可定制性:用户可以根据自己的需要定制节点、连接器和样式,创建符合特定用例的定制逻辑流程图。
  • 灵活易拓展: 内置提供丰富的插件,用户也可根据自身需求定制复杂插件实现业务需求。
  • 自执行引擎: 执行引擎支持浏览器端执行流程图逻辑,为无代码执行提供新思路。
  • 数据可转换:支持 LogicFlow 数据与 BPMN、Turbo 等各种后端执行引擎数据结构转换能力。


框架优势

核心优势总结为 3 点,新手也能快速 get:

  • 轻量化:核心包体积仅 100KB+,无冗余依赖,加载速度快;
  • 高灵活:节点、连线、面板均可自定义,从样式到交互全链路可控;
  • 跨框架:支持 vue 2/3、react,甚至原生 JS,一次学习多端复用。


使用场景

LogicFlow 不是单一工具,而是适配多业务场景的 “流程图解决方案”,尤其适合这些需求:

  • 业务流程设计:比如 OA 系统的审批流程、电商的订单流转,支持拖拽添加节点、设置条件分支;
  • 数据可视化:架构图、思维导图、ER 图,通过自定义节点实现复杂数据关系展示;
  • 低代码平台:作为可视化编辑器核心,搭配表单组件快速搭建 “流程配置中心”;
  • 即时协作工具:支持节点拖拽、连线自动吸附,配合 WebSocket 实现多人实时编辑。

举个真实案例:某企业 OA 系统用 LogicFlow 重构后,流程配置页面开发周期从 15 天缩短至 3 天,后续新增流程类型仅需扩展自定义节点,无需修改核心逻辑。


安装和使用

既然是轻量化插件库,引入和使用也不很简单,跟着步骤就能快速实现一个简单流程图:

1. 安装依赖(以 npm 为例)

# 核心库
npm install @logicflow/core --save
# 基础样式(可选)
npm install @logicflow/theme --save

2. 简单示例(Vue 3 为例)

<template>
<div id="flow-container"></div>
</template>
<script setup>
import { onMounted } from 'vue';
import { LogicFlow } from '@logicflow/core';
import '@logicflow/theme';
onMounted(() => {
// 初始化实例
const lf = new LogicFlow({
container: document.getElementById('flow-container'),
grid: true // 显示网格
});
// 添加节点
lf.addNode({
id: 'node1',
type: 'rect', // 矩形节点
x: 100,
y: 100,
text: '开始'
});
lf.addNode({
id: 'node2',
type: 'rect',
x: 400,
y: 100,
text: '结束'
});
// 添加连线
lf.addEdge({
sourceNodeId: 'node1',
targetNodeId: 'node2',
text: '流程流转'
});
// 渲染
lf.render();
});
</script>

3. 关键配置说明

容器:必须指定宽高,否则无法正常渲染;

节点类型:内置 rect(矩形)、circle(圆形)、diamond(菱形)等基础类型,支持自定义;

交互:默认支持节点拖拽、连线编辑,可通过 stopDefaultBehavior 禁用默认交互。


进阶技巧:

1. 自定义节点样式

如果内置节点满足不了需求,可通过 registerNode 扩展:

// 自定义一个“审批节点”
lf.registerNode('approval-node', {
extends: 'rect', // 继承矩形节点
style: {
fill: '#e8f4f8',
stroke: '#4299e1',
strokeWidth: 2
},
// 自定义图标
icon: {
type: 'svg',
svg: '<svg width="20" height="20" viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5z"/></svg>'
}
});

2. 监听事件,实现业务逻辑

LogicFlow 提供丰富的事件钩子,比如节点点击、连线变化:

// 监听节点点击
lf.on('node:click', (data) => {
console.log('点击了节点:', data.node.id);
// 这里可触发弹窗、表单编辑等业务逻辑
});
// 监听连线完成
lf.on('edge:add', (data) => {
console.log('新增连线:', data.edge);
// 校验连线合法性、保存到后端等
});

3. 导出与导入

支持将流程图导出为 JSON,或从 JSON 恢复:

// 导出
const flowData = lf.getGraphData();
// 导入
lf.render(flowData);


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/4816

广告图片

more>>
相关栏目
SVG.js
包括各种形状、线条、文本、路径等元素
官网 GitHub
d3.js
基于HTML 和 SVG 的 JavaScript 可视化库
官网 GitHub
incubator-echarts
百度团队开发的一款商业级数据图表
官网 GitHub
g2
一套基于可视化编码的图形语法
官网 GitHub
Chartist.js
JavaScript响应式图表库
官网 GitHub
MetricsGraphics.js
一个基于 D3 的简洁的数据图表优化
官网 GitHub
plotly.js
基于d3.js 和stack.gl开源的 JavaScript 图表库
官网 GitHub
js-sequence-diagrams
一款基于 Javascript 的Web绘制时序图的工具
官网 GitHub
C3.js
基于D3.js开发的JavaScript库
官网 GitHub
crossfilter
一个数据计算模型,能够很好地结合DC.JS进行数据解析绘图
官网 GitHub
Processing.js
擅长创建2D和3D图象,可视化数据套件,音频,视频等
官网 GitHub
flowchart.js
基于SVG的流程图插件
官网 GitHub
Velocity.js
一个简单易用、高性能、功能丰富的轻量级JS动画库
官网 GitHub
popmotion.js
一款小巧,灵活的 JavaScript 运动引擎
官网 GitHub
js2flowchart.js
将任何 JavaScript 转换成漂亮的 SVG 流程图的可视化的图表库
点击进入 GitHub
jsplumb
一个开源的流程图或拓扑图绘制工具库(绘制页面链接线)
官网 GitHub

手机预览

首页 技术导航 在线工具 技术文章 教程资源 AI工具集 前端库/框架 实用工具箱

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。