跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptSaaS大前端

LogicFlow:前端流程图编辑框架入门与实战

LogicFlow 是一款前端开源流程图编辑框架,专注于业务流程图设计。其核心优势包括 API 友好、高扩展性、数据驱动及完善的中文文档。 LogicFlow 的核心概念(GraphModel、Node、Edge),并通过实战演示了如何初始化项目、创建基础流程图、自定义业务节点以及处理流程图的输入输出数据。该框架适用于 OA 审批、自动化运维及低代码平台等可视化编排场景。

墨染流年发布于 2026/4/5更新于 2026/7/2456 浏览
LogicFlow:前端流程图编辑框架入门与实战

LogicFlow:前端流程图编辑框架入门与实战

引言:什么是 LogicFlow?

在后台系统中,用户可能需要通过拖拽来定义复杂的业务流程(如审批流、数据流转)。

  • 使用现成的流程图工具:功能固定,难以与业务深度集成。
  • 从零开始手写:工程量巨大,维护成本高。

LogicFlow 是一款专注于业务流程图编辑的前端开源框架。它不关心后端技术栈,专注于在前端页面提供功能强大、易于扩展的流程图绘制区域。

核心定位:让开发者能快速、轻松地在自己的网页应用中集成一个专业的流程图设计器。

一、为什么选择 LogicFlow?

  1. 极易上手,API 设计友好 只需几行代码即可创建基础编辑器,对新手友好。
  2. 高扩展性 支持自定义节点(如用户任务、网关)、连线样式及插件(菜单、缩略图、BPMN 适配等)。
  3. 数据驱动 采用纯粹的数据驱动模式,无需直接操作 DOM,获取的 JSON 数据可轻松保存或发送。
  4. 中文文档齐全 由国内团队打造,拥有完善的中文文档和活跃社区。

提示:LogicFlow 支持 HTML、Vue、React 等前端框架,本文以 HTML 为例。

二、核心概念快速理解

概念描述类比
GraphModel (图模型)整个流程图的数据和逻辑核心,管理所有节点和边家族的'族谱'
Node (节点)流程图中的基础元素,如步骤、任务族谱中的'人'
Edge (边/连线)连接两个节点的线,表示流程走向族谱中的'父子关系'

三、实战:5 分钟创建一个流程图

步骤 1:初始化项目并安装

mkdir my-logicflow-demo
cd my-logicflow-demo
npm init -y
npm install @logicflow/core

步骤 2:创建 HTML 容器

创建 index.html 文件:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name= =>
    我的第一个 LogicFlow 流程图
    


    
    
    


"viewport"
content
"width=device-width, initial-scale=1.0"
<title>
</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@logicflow/core/dist/style/index.css"/>
</head>
<body>
<!-- 准备一个容器,LogicFlow 会在这个 div 里渲染画布 -->
<div id="container" style="width: 1000px;height: 600px;border: 1px solid #aaa;">
</div>
<script src="./app.js">
</script>
</body>
</html>

步骤 3:编写 JavaScript 逻辑

创建 app.js 文件:

// 引入 LogicFlow
import { LogicFlow } from '@logicflow/core';

// 1. 配置画布
const lf = new LogicFlow({
    container: document.querySelector('#container'),
    grid: true, // 开启网格,方便对齐
});

// 2. 渲染画布
lf.render();

// 3. 设置默认节点和连线类型
lf.setDefaultEdgeType('polyline'); // 设置默认连线为折线

// 4. 添加初始节点和连线
lf.addNode({ type: 'rect', x: 100, y: 100, text: '开始节点' });
lf.addNode({ type: 'circle', x: 300, y: 100, text: '处理节点' });
lf.addEdge({ type: 'polyline', sourceNodeId: 1, targetNodeId: 2 });

注意:ES Module 写法在部分浏览器中可能需构建工具支持。CDN 方式如下:

在 index.html 的 </body> 前加入:

<script src="https://cdn.jsdelivr.net/npm/@logicflow/core/dist/logic-flow.js"></script>
<script>
    const { LogicFlow } = window.LogicFlow;
    // ... 其余代码与上面 app.js 相同
</script>

步骤 4:查看结果

用浏览器打开 index.html 文件,将看到一个包含两个节点和一条连线的流程图,可尝试拖拽它们。

四、进阶:自定义业务节点

创建'审批节点'示例:

// 继承 RectNode 来创建自定义节点
import { RectNode, RectNodeModel } from '@logicflow/core';

// 1. 定义视图(View)
class ApprovalNode extends RectNode {
    // 这里可以重写获取形状的方法
}

// 2. 定义模型(Model)
class ApprovalNodeModel extends RectNodeModel {
    initNodeData(data) {
        super.initNodeData(data);
        this.width = 120;
        this.height = 80;
        this.radius = 10; // 圆角矩形
        this.stroke = '#2980b9'; // 边框颜色
        this.fill = '#d6eaf8'; // 填充颜色
    }

    getTextStyle() {
        const style = super.getTextStyle();
        style.fontSize = 16;
        style.color = '#2c3e50';
        return style;
    }
}

// 3. 注册自定义节点
lf.register('approval', { view: ApprovalNode, model: ApprovalNodeModel });

// 4. 添加自定义节点
lf.addNode({ type: 'approval', x: 500, y: 200, text: '主管审批' });

刷新页面即可看到自定义节点。

五、数据:流程图的输入与输出

LogicFlow 的核心是数据。

  • 获取数据(保存):调用 lf.getGraphData() 得到 JSON 数据,可存入数据库。
const graphData = lf.getGraphData();
console.log(JSON.stringify(graphData));
// 输出:{"nodes": [...], "edges": [...]}
  • 渲染数据(回显):从后端获取 JSON 数据后,传入 lf.render()。
const previouslySavedData = {...}; // 从 API 获取的数据
lf.render(previouslySavedData);

六、生态系统与未来

LogicFlow 拥有丰富的插件生态系统:

  • @logicflow/extension:官方扩展包,包含 BPMN、MiniMap(缩略图)、SelectionSelect(框选工具)等。

使用插件通常非常简单:

import { BpmnElement } from '@logicflow/extension';
lf.use(BpmnElement);
// 之后就可以使用 'bpmn:startEvent' 等 BPMN 类型的节点了

总结

  1. LogicFlow 是什么? 强大、易扩展的前端流程图编辑框架。
  2. 解决了什么问题? 简化了在网页应用中嵌入专业流程图设计器的过程,提升开发效率和用户体验。
  3. 学习曲线如何? 入门快,核心概念清晰,文档丰富,支持复杂业务场景。

适用于 OA 审批、自动化运维、低代码平台等可视化编排场景。

目录

  1. LogicFlow:前端流程图编辑框架入门与实战
  2. 引言:什么是 LogicFlow?
  3. 一、为什么选择 LogicFlow?
  4. 二、核心概念快速理解
  5. 三、实战:5 分钟创建一个流程图
  6. 步骤 1:初始化项目并安装
  7. 步骤 2:创建 HTML 容器
  8. 步骤 3:编写 JavaScript 逻辑
  9. 步骤 4:查看结果
  10. 四、进阶:自定义业务节点
  11. 五、数据:流程图的输入与输出
  12. 六、生态系统与未来
  13. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • GitHub 热榜项目 - 日榜精选(2026-02-02)| AI 智能体、终端工具、视频生成等
  • 使用 Rclone 将远程 WebDAV 存储映射为本地硬盘
  • 大语言模型综述:预训练、微调、应用与评估详解
  • MATLAB Simulink 仿真三相桥式全控整流电路
  • OpenClaw 自定义 Skill 开发实战:Excel 数据批量处理
  • 从零搭建 SpringBoot 项目详解
  • Git 和 TortoiseGit 安装与基础使用
  • sherpa-onnx 离线语音框架:Whisper、Moonshine、SenseVoice
  • HarmonyOS 视频封面智能生成实战与 AI 集成
  • Qt C++ QRegularExpression 正则表达式使用详解
  • CCF-GESP 2025 年 12 月 C++ 二级真题解析
  • Go 语言文件读写入门:os、bufio 与 ioutil 实战
  • Claude Code 源码泄露事故分析:Source Map 配置失误导致 51 万行代码公开
  • Stable Diffusion 微调教程:基于 Dreambooth 与 LoRA
  • OpenClaw 龙虾机器人本地免费部署实战指南
  • DeepSeek + MCP 股票分析系统搭建与接入教程
  • 高密度 FPGA 紧凑型去耦电容布局实战指南
  • VS Code 安装 GitHub Copilot 及 AI 编程使用指南
  • 利用 AI 工具组合高效完成文献综述的实践指南
  • OpenClaw 龙虾机器人 Windows 系统部署指南

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online