一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介seaflow 仿钉钉工作流快速开发平台seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制, 大大缩短了学习成本。
二、开源协议使用Apache-2.0开源协议
三、界面展示当前效果图四、功能概述seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制, 大大缩短了学习成本。
围绕 工作流功能, 实现 流程设计, oa审批, 系统管理 三大部分,从 0到1 , 部分界面借鉴优秀项目的布局 能力时间有限,未做太多封装,介意划走! 后端代码往下看 ↓功能介绍系统模块用户管理 [乄]角色管理 [√]菜单管理 [√]部门管理 [√]职位管理 [√]oa办公发起申请 [√]我发起的 [√]待办任务 [√]已办任务 [√]抄送任务 [-]流程管理流程分类 [√]流程设计 [乄]自定义表单 [√]表单设计器 [-]流程配置 [乄]流程发布 [√]版本管理 [-]更多功能有序新增中...工作流解析工作流使用 warm-flow 框架,需要深入了解的同学,请先移步官网熟悉基本结构,下面为代码解析部分,如有错误请随时指正
1. 流程逻辑流程设计 -> 流程json -> 转换为流程定义 -> 发布
2. 发起流程申请逻辑提交申请流程找到开始节点 和 下一个审批节点(非网关)执行开始监听器创建流程实例对象执行权限监听器(官方不推荐使用了)创建历史任务对象创建下一个审批节点的task对象替换task中的办理人变量(表单数据变量替换)执行分派监听器(动态设置审批人的地方)保存(流程实例, 任务(根据参数permissionlist创建任务办理人),历史任务)执行结束监听器和下一个节点的创建监听器审批逻辑后续分析了再添加
五、技术选型seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制, 大大缩短了学习成本。
sealflow 现代化工作流搭建框架基于 Warm-Flow国产工作流引擎 , 仿钉钉工作流, 纯个人爱好,开源分享, 请勿二开同类产品。本项目很多地方只做了简单处理, 主要时间用于工作流程的功能开发开发环境springboot 2.7.18 , java 17 , warm-flow , satoken , hutool , mybatis-plus , easy-trans
六、源码地址访问一飞开源:https://code.exmay.com/