# LogicFlow **Repository Path**: sync-github/LogicFlow ## Basic Information - **Project Name**: LogicFlow - **Description**: LogicFlow 是一款流程可视化的前端框架,提供了一系列流程图交互、编辑所必需的功能和简单灵活的节点自定义、插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求。 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://github.com/didi/LogicFlow - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2021-11-15 - **Last Updated**: 2022-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
LogicFlow 是一款流程可视化的前端框架,提供了一系列流程图交互、编辑所必需的功能和简单灵活的节点自定义、插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求。 ## 特性 - 🎯 专业 专注于业务流程可视化的解决方案 - 🚀 快速搭建 提供配套能力(undo/对齐线/键盘)快速搭建流程图编辑器,提升研发效率 - 🛠 高拓展性 提供自定义能力和插件能力,助力定制化的业务场景 ## 使用 ### 安装 ```sh # npm $ npm install @logicflow/core --save # yarn $ yarn add @logicflow/core ``` ### 代码示例 ```js // 创建容器 ; // 准备数据 const data = { // 节点 nodes: [ { id: 21, type: 'rect', x: 100, y: 200, text: { value: '矩形节点', x: 100, y: 200, }, }, { id: 50, type: 'circle', x: 300, y: 400, text: { value: '圆形节点', x: 300, y: 400, }, }, ], // 边 edges: [ { type: 'polyline', sourceNodeId: 50, targetNodeId: 21, }, ], }; // 渲染画布 const lf = new LogicFlow({ container: document.querySelector('#container'), width: 700, height: 600, }); lf.render(data); ``` ## 文档 [官方文档](http://logic-flow.org) - [快速上手](http://logic-flow.org/guide/start.html#安装) - [基础教程](http://logic-flow.org/guide/basic/logic-flow.html) - [进阶指南](http://logic-flow.org/guide/advance/theme.html) - [拓展](http://logic-flow.org/guide/extension/extension-components.html) - [示例](http://logic-flow.org/usage/bpmn.html) ## 核心能力 ### 流程图编辑器快速搭建 提供了一个流程图编辑所必需的各项能力,这也是 LogicFlow 的基础能力: - 图的绘制能力。基于 SVG 来绘制形状各异的节点和线,并提供了基础的节点(矩形、圆形、多边形等)和线(直线、折线、曲线) - 各类交互能力,让图动起来。根据节点、线、图的各类鼠标事件(hover、点击、拖拽等)做出反应。比如节点拖拽、拖拽创建连线、线的调整、双击节点编辑文本等 - 提升编辑效率的能力。提供网格、对齐线,上一步、下一步,键盘快捷键,图放大缩小等配套能力,帮助用户提升编辑效率 - 提供了丰富的 API ,宿主研发通过 API 传参调用和监听事件的方式,与 LogicFlow 完成交互 下面是通过 LogicFlow 内置的节点和配套能力,做的流程图示例 :