# jeedp-flow **Repository Path**: ydc123/jeedp-flow ## Basic Information - **Project Name**: jeedp-flow - **Description**: java快速开发平台-工作流版 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-09-10 - **Last Updated**: 2026-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# Jeedp 快速开发框架 **Java 企业级快速开发平台 | 开箱即用 | 多端统一**
--- ## 简介 Jeedp 是一套基于 Spring Boot 的企业级快速开发平台,提供完整的用户权限管理、数据权限控制、操作审计、系统监控等基础能力。前端采用 Vue 3 + Arco Design,移动端采用 UniApp,实现 Web 端与移动端统一架构。 ## 技术栈 | 层级 | 技术 | 版本 | |------|------|------| | 后端框架 | Spring Boot | 2.7.18 | | 权限认证 | Sa-Token | 1.39.0 | | ORM | MyBatis-Plus | 3.5.7 | | 连接池 | Druid | 1.2.23 | | 缓存 | Redis | - | | 配置加密 | Jasypt | 3.0.5 | | 工具库 | Hutool | 5.8.30 | | JSON | Fastjson2 | 2.0.52 | | 系统监控 | OSHI | 6.6.2 | | 表格导出 | Apache Fesod | 2.0.2-incubating | | 工作流引擎 | Flowable | 6.8.0 | | BPMN 设计器 | bpmn-js | 17.11.1 | | Web 前端 | Vue 3 + Arco Design | Vue 3.4 / Arco 2.56 | | 移动端 | UniApp | Vue 3 | | 构建工具 | Vite | 5.3 | | 数据库 | PostgreSQL | - | | JDK | JDK | 1.8 | ## 功能模块 ### 系统管理 | 模块 | 说明 | |------|------| | 用户管理 | 系统用户配置,支持数据权限过滤 | | 机构管理 | 组织机构树形维护(公司/部门/小组) | | 岗位管理 | 用户职务配置 | | 角色管理 | 角色权限分配、数据范围划分、子角色配置 | | 菜单管理 | 系统菜单、路由、按钮权限标识配置 | | 字典管理 | 系统常用固定数据维护 | | 参数管理 | 系统动态配置参数 | ### 系统监控 | 模块 | 说明 | |------|------| | 在线用户 | 当前活跃用户状态监控,支持强退 | | 定时任务 | 在线添加/修改/删除任务调度,含执行日志 | | 操作日志 | 系统正常操作与异常信息日志记录 | | 登录日志 | 登录记录查询,包含异常登录信息 | | 服务监控 | CPU、内存、磁盘、JVM 等系统信息 | | 缓存监控 | 系统缓存信息查询与命令统计 | ### 通知公告 系统公告信息发布与维护,支持已读状态追踪。 ### 工作流 | 模块 | 说明 | |------|------| | 流程管理 | 流程定义的增删改查、BPMN 可视化设计器、挂起/激活 | | 流程实例 | 我发起的流程、全部流程实例、流程图追踪、挂起/激活/删除 | | 流程任务 | 待办任务、已办任务、签收、办理(同意/驳回/转办/委派/加签) | | 请假示例 | 演示业务表单绑定流程、提交发起、审批办理的完整链路 | ## 项目结构 ``` jeedp/ ├── jeedp-flow-server/ # 后端服务(Spring Boot + Flowable) │ ├── src/main/java/com/jeedp/ │ │ ├── common/ # 公共模块(工具类、注解、异常、常量) │ │ ├── config/ # 配置类(拦截器、数据源、加密等) │ │ ├── flow/ # 工作流模块(流程定义、实例、任务、请假示例) │ │ ├── framework/ # 框架集成(Sa-Token 权限实现) │ │ ├── monitor/ # 监控模块(在线用户、任务调度、服务监控) │ │ └── system/ # 系统管理模块(用户、角色、菜单、机构等) │ ├── sql/ # 数据库初始化脚本 │ └── pom.xml ├── jeedp-flow-web/ # Web 管理端(Vue 3 + Arco Design + bpmn-js) │ ├── src/ │ │ ├── api/ # 接口请求 │ │ ├── components/ # 公共组件(BPMN 设计器、流程图查看器、表单渲染) │ │ ├── views/ # 页面组件 │ │ ├── layout/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ └── store/ # 状态管理(Pinia) │ └── package.json ├── jeedp-app-uniapp/ # 移动端(UniApp + Vue 3) │ ├── pages/ # 页面 │ ├── api/ # 接口请求 │ ├── store/ # 状态管理(Pinia) │ └── manifest.json └── jeedp-doc/ # 项目文档 ``` ## 快速开始 ### 环境要求 - JDK 1.8+ - PostgreSQL 12+ - Redis 6+ - Node.js 16+ - Maven 3.6+ ### 1. 克隆项目 ```bash git clone <仓库地址> ``` ### 2. 初始化数据库 ```bash # 创建数据库并执行初始化脚本 psql -U postgres -d jeedp -f jeedp-flow-server/sql/jeedp_postgres.sql ``` ### 3. 启动后端 ```bash cd jeedp-flow-server # 方式一:IDEA 直接运行(需配置环境变量) # 环境变量:JASYPT_ENCRYPTOR_PASSWORD=jeedp2026! # 方式二:命令行启动 mvn spring-boot:run -Dspring-boot.run.arguments="--jasypt.encryptor.password=jeedp2026!" ``` 后端服务默认启动在 `http://localhost:8080` ### 4. 启动 Web 前端 ```bash cd jeedp-flow-web npm install npm run dev ``` Web 前端默认启动在 `http://localhost:5173` ### 5. 启动移动端(可选) 使用 HBuilderX 打开 `jeedp-app-uniapp` 目录,运行到浏览器或模拟器。 ### 默认账号 | 账号 | 密码 | 角色 | |------|------|------| | admin | admin123 | 超级管理员 | ## 核心特性 ### 权限体系 - **接口权限**:基于 Sa-Token 的 `@SaCheckPermission` 注解,按钮级权限控制 - **数据权限**:`@DataScope` 注解 + AOP 切面,支持全部/自定义/机构/本人等 5 种数据范围 - **子角色机制**:支持角色层级配置,用户管理时自动按子角色范围过滤可选角色 - **超级管理员**:admin 账号自动拥有通配权限 `*:*:*` ### 安全防护 - **配置加密**:数据库密码、Redis 密码等敏感配置采用 Jasypt AES 加密存储 - **敏感字段加密**:手机号、邮箱等字段数据库存储密文,查询时自动加解密 - **脱敏显示**:列表接口自动脱敏手机号、邮箱等敏感信息 - **密码策略**:支持密码强度校验、登录失败锁定、密码过期提醒 ### 操作审计 - **操作日志**:`@Log` 注解自动记录增删改操作,含请求参数和响应结果 - **登录日志**:记录登录 IP、浏览器、操作系统、登录状态 - **在线用户**:实时查看当前活跃会话,支持强制下线 ### 工作流引擎 - **可视化设计**:基于 bpmn-js 的 BPMN 2.0 流程设计器,支持拖拽建模、属性配置 - **流程管理**:流程定义的新建、修改(标识/名称/分类/表单)、设计、挂起、激活、删除 - **任务办理**:待办/已办任务列表,支持签收、同意、驳回、转办、委派、加签 - **流程追踪**:流程图高亮显示已完成和进行中节点,审批历史时间线 - **业务表单绑定**:流程定义可绑定前端业务表单组件,办理任务时自动渲染 - **请假示例**:内置完整的请假审批流程演示,展示业务表单与流程集成的最佳实践 ## 工作流操作指南 ### 1. 新建流程 1. 进入「流程管理」页面,点击**新建流程**按钮 2. 填写流程信息: - **流程标识**(key):英文标识,如 `leave`,部署后作为流程 key - **流程名称**:如「请假申请流程」 - **分类**:选填,如 `OA` - **业务表单**:选填,前端表单组件路径,如 `flow/leave/LeaveForm` 3. 点击确认,自动跳转到 BPMN 流程设计器 4. 在设计器中拖拽建模:添加开始事件、用户任务、网关、结束事件等 5. 点击**保存**,流程自动部署,版本号从 1 开始 ### 2. 设计流程 在流程管理列表中点击**设计**按钮,进入 BPMN 设计器: - **左侧工具栏**:创建事件、任务、网关、泳道等 BPMN 元素 - **画布**:拖拽建模,点击节点可配置属性 - **右侧属性面板**:配置节点名称、处理人、表单路径、监听器等 - **顶部工具栏**:新建、导入 XML、查看 XML、下载(XML/SVG/PNG)、撤销、重做、缩放 > 注意:流程标识、名称、分类、业务表单在列表页通过**修改**功能编辑,设计器仅负责流程图编辑。 ### 3. 修改流程信息 在流程管理列表中点击**修改**按钮,可编辑: - **流程标识**(key):修改后生成新版本,运行中实例不受影响 - **流程名称** - **分类** - **业务表单** 保存后自动重新部署为新版本(version +1)。 ### 4. 发起流程 以请假申请为例: 1. 进入「请假申请」页面,点击**新增** 2. 填写请假信息(类型、开始时间、结束时间、事由) 3. 保存后点击**提交**,系统自动发起流程实例 4. 流程流转到第一个审批节点,审批人收到待办任务 ### 5. 办理任务 1. 进入「待办任务」页面,查看待处理的任务 2. 点击**办理**按钮,进入任务详情页 3. 查看业务表单内容(如请假详情)和流程图进度 4. 选择审批操作: - **同意**:流转到下一节点 - **驳回**:退回上一节点 - **转办**:转给其他人处理 - **委派**:委派他人处理后回到自己 - **加签**:增加审批人 5. 填写审批意见,点击提交 ### 6. 查看流程进度 - 在「我发起的流程」或「全部流程实例」中点击**流程图** - 已完成节点显示绿色,进行中节点显示蓝色,未到达节点灰色 - 可查看完整的审批历史时间线(处理人、处理时间、审批意见) ### 7. 流程挂起与激活 - **挂起定义**:流程定义挂起后,不能再发起新实例,已运行实例不受影响 - **挂起实例**:流程实例挂起后,当前任务暂停,不能办理 - **激活**:恢复挂起的定义或实例 ### 8. 删除流程 - 删除流程定义时,会自动级联清理关联的运行中实例 - 删除流程实例会清理相关的运行时和历史数据 ## 相关文档 - [后端使用说明](jeedp-flow-server/README.md) - [Web 前端说明](jeedp-flow-web/README.md) ## License 本项目仅供学习和内部使用。