# eagle-flow **Repository Path**: charmingcheng/eagle-flow ## Basic Information - **Project Name**: eagle-flow - **Description**: flowable适配钉钉流程设计器 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 18 - **Created**: 2025-06-13 - **Last Updated**: 2025-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # eagle-flow #### 介绍 flowable适配钉钉流程设计器 #### 软件架构 #架构介绍 Eagle-flow是基于RuoYi-Vue开源的一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue), 内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。 Eagle-flow是一款基于SpringBoot+Vue的前后端分离极速后台开发框架。 #主要特性 - 完全响应式布局(支持电脑、平板、手机等所有主流设备)。 - 强大的一键生成功能(包括控制器、模型、视图、菜单等)。 - 支持多数据源,简单配置即可实现切换。 - 支持按钮及数据权限,可自定义部门数据权限。 - 对常用js插件进行二次封装,使js代码变得简洁,更加易维护。 - 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击。 - Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。 - 国际化支持,服务端及客户端支持。 - 完善的日志记录体系简单注解即可实现。 - 支持服务监控,数据监控,缓存监控功能。 #### 安装教程 1. 准备工作 JDK >= 1.8 (推荐1.8版本) Mysql >= 5.7.0 (推荐5.7版本) Redis >= 3.0 Maven >= 3.0 Node >= 12 提示:前端安装完node后,最好设置下淘宝的镜像源,不建议使用cnpm 2. 后端运行 2.1、导入到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择工作目录,然后点击 Finish 按钮,即可成功导入。 Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定) 2.2、创建数据库ry-vue并导入数据脚本ry_2024xxxx.sql,quartz.sql 2.3、创建数据库ruoyi-flow并导入数据脚本ruoyi_flow.sql 2.4、打开项目运行com.ruoyi.RuoYiApplication.java,出现如下图表示启动成功。 ![readme1.png](imgs/readme1.png) 提示: 后端运行成功可以通过(http://localhost:8080 (opens new window))访问,但是不会出现静态页面,可以继续参考下面步骤部署ruoyi-ui前端,然后通过前端地址来访问。 3. 前端运行 3.1、 # 进入项目目录 cd ruoyi-ui # 安装依赖 npm install # 强烈建议不要用直接使用 cnpm 安装,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。 npm install --registry=https://registry.npmmirror.com # 本地开发 启动项目 npm run dev 3.2、打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123) 若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功 提示: 因为本项目是前后端完全分离的,所以需要前后端都单独启动好,才能进行访问。 #### 使用说明 1. 必要配置 1.1、修改数据库连接,编辑resources目录下的application-druid.yml ![readme2.png](imgs/readme2.png) 1.2、修改服务器配置,编辑resources目录下的application.yml ![readme3.png](imgs/readme3.png) 2. 部署系统 2.1、后端部署 - 打包工程文件 在ruoyi项目的bin目录下执行package.bat打包Web工程,生成war/jar包文件。 然后会在项目下生成target文件夹包含war或jar - 部署工程文件 1、jar部署方式 使用命令行执行:java –jar ruoyi.jar 或者执行脚本:ruoyi/bin/run.bat 2、war部署方式 ruoyi/pom.xml中的packaging修改为war,放入tomcat服务器webapps 提示:因为本项目是前后端完全分离的,所以需要前后端都单独部署好,才能进行访问。 2.2、前端部署 - 当项目开发完毕,只需要运行一行命令就可以打包你的应用 # 打包正式环境 npm run build:prod # 打包预发布环境 npm run build:stage - 构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。 - 通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 本流程设计器支持flowable,为了大家更好使用flowable来做审批流程 2. 如果需要使用更加复杂的流程设计器,请参考:https://designer.bpmport.com/designer/ 3. 如果有些问题可以查看文档:https://www.bpmport.com/bpmn/docs/ ## 其他开源项目 1:企业级流程中心(基于flowable和bpmn.js封装的流程引擎,采用Springboot,Mybatis-plus, Ehcache, sa-token 等框架技术,前端采用Vue3&Antd,Vben) 后端程序: https://openadmin.bpmport.com 前端程序:https://openportal.bpmport.com 源码地址:https://gitee.com/lwj/flow 2: Flowable 流程引擎组件,该组件与Flowable 流程引擎深度融合,结合实际业务场景和使用方式,对属性编辑面板进行了重新设计,优化了用户体验。 增加了符合业务场景的流程校验与进度预览、引入了富文本编辑器与代码编辑器。 结合后端引擎,可直接嵌入系统中使用 预览地址:https://moon-studio.github.io/vite-vue-bpmn-process/ 源码地址:https://github.com/moon-studio/vite-vue-bpmn-process ## 商业版本 企业版本具有强大且更全面的功能,不仅提供组件插件,还提供全套的低代码开发平台。具体核心功能如下: 1:集成了移动端飞书和钉钉,可在移动端发起流程、审核/查阅待办。 2:已经实现扩展了几十个流程引擎组件,例如事件管理、多实例、任务管理、网关、服务编排等,后续还会继续扩展。 3:提供SDK,通过简单的配置即可无缝对接流程引擎相关接口。 4:文档齐全,提供详细设计说明书、需求规格说明书、用户操作手册、接口文档、数据字典、SDK集成等操作和使用文档,可轻易快速上手。 5:提供强大的决策引擎功能。 6:提供门户前端代码,门户的数据展示可通过后台动态配置。 已有多家企业购买与实际业务中使用,如果您有这个兴趣or需求,您可访问以下地址预览查看。 企业版多个产品详情页: https://www.bpmport.com/products ![](imgs/product-1.png) 企业版后台管理地址: https://admin.bpmport.com ![](imgs/flow-admin-1.png) ![](imgs/flow-admin-2.png) 企业版前端门户地址: https://portal.bpmport.com ![](imgs/portal.png) ## 联系作者 欢迎bug反馈,需求建议,技术交流等 QQ扫码入群(群号:633168411): ![](imgs/contact-qq.png) ## 推荐 大家在使用本项目时,推荐结合贺波老师的书 [《深入Flowable流程引擎:核心原理与高阶实战》](https://item.jd.com/14804836.html)学习。这本书得到了Flowable创始人Tijs Rademakers亲笔作序推荐,对系统学习和深入掌握Flowable的用法非常有帮助。 ![输入图片说明](./imgs/img.png)