# blue-admin
**Repository Path**: jerryCJ/blue-admin
## Basic Information
- **Project Name**: blue-admin
- **Description**: 基于Spring Boot 3 + Vue 3搭建的一个轻量级的通用权限后台管理系统框架,框架内扩展低代码工作流引擎、AI助手等功能,前后端分离架构,代码简洁,开箱即用,便于二次开发【OA流程审批】【Spring AI】【自适应多端布局】
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://www.chennanjie.xyz/
- **GVP Project**: No
## Statistics
- **Stars**: 47
- **Forks**: 14
- **Created**: 2025-02-11
- **Last Updated**: 2025-09-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 工作流引擎, AI助手, 后台管理系统, SpringBoot, vue3
## README
# Blue Admin



[](LICENSE)
基于 **Spring Boot 3 + Vue 3** 构建的轻量级通用权限管理后台系统框架,前后端分离架构,开箱即用。
框架内部实现了一套完全独立设计开发的低代码工作流引擎(非集成开源BPM产品),能轻松接入常用OA流程审批业务,欢迎大家多多体验,如遇到Bug,请动动小手,顺手提下ISSUES,万分感谢!
目前项目共有四个分支
- master:整合了下面分支所有功能
- base:包含基础权限管理、系统功能、定时任务模块功能
- extend-ai:在base基础上添加了ai助手功能(基于spring AI调用模型api)
- extend-workflow:在base基础上添加了低代码工作流引擎
作者能力时间有限,代码可能不是很出彩,望各位大佬多多指点,共同学习进步!
## 工作流引擎开发计划
| 功能 | 状态 | 备注 |
|-------------|-----|----------------------------------------------|
| 流程定义配置 | 已完成 | 基础属性配置/表单配置/流程节点配置 |
| 流程版本管理 | 已完成 | |
| 流程跳转基础功能 | 已完成 | 同意/拒绝/退回/撤销/重新发起 |
| 流程通知消息 | 已完成 | 流程跳转会给相应的处理人发送通知消息/待办消息 |
| 过程节点数据修改 | 已完成 | 流程过程节点支持审批数据修改(通过流程定义中的表单配置字段为可修改类型) |
| 多人审批(会签/或签) | 已完成 | 会签-需所有人审批同意,不限顺序/或签-只需一名审批人同意或拒绝即可 |
| 自选审批人 | 已完成 | 根据流程节点配置的用户/角色/部门信息可自选单个或多个满足权限配置的用户进行下一节点审批 |
| 流程功能扩展 | 已完成 | 抄送/转办/加签 | |
| 优化代码 | 进行中 |
## 技术栈
### 后端(blue-boot)
- **核心框架**: Spring Boot 3.2
- **持久层**: MyBatis-Plus 3.5
- **数据库**: MySQL 5.7/8.0
- **任务调度**: Quartz
- **工具集**: Lombok, Hutool ...
### 前端(blue-boot-vue)
- **核心框架**: Vue 3.5.10 + JavaScript
- **UI组件**: Element Plus
- **状态管理**: Pinia
- **路由管理**: Vue Router 4
- **构建工具**: Vite 4
## 功能特性
- 完整的RBAC权限控制(用户-角色-权限)
- 模块化设计,代码结构清晰
- 内置基础权限管理、系统功能、定时任务模块
- 内置低代码工作流引擎,支持流程跳转(同意/拒绝/退回/转办/加签/撤销/重新发起/抄送)以及审批流程中间节点数据修改等功能
- 内置AI助手功能【基于 spring AI 已支持 deepseek(聊天)、openai(聊天,上下文理解,文生图,图片识别功能) api 接入】
- 前后端crud代码一键生成
- 前后端分离架构,restful api 设计
- 支持动态路由和页面权限控制
- JWT身份认证与鉴权
## 启动项目
### 后端启动
- 安装 JDK 17+ 、 Maven 3.8+ 、 mysql5.7/8.0 、redis 、rabbitmq
- 创建 MySQL 数据库,执行 initial-scripts 中的SQL脚本
- 修改 application.yml 中的数据库/redis/rabbitmq连接配置(如需使用AI功能,请在application.yml中需额外配置api-key和base-url)
### 前端启动
- 安装 Node.js 16+
- npm install 安装依赖
- npm run dev(开发环境启动) npm run start(生产环境启动)
## 演示地址
- https://www.chennanjie.xyz/
- 账号:admin 密码:123456
- 测试流程需多账号可在[权限管理-用户管理]中查看,账号密码都是123456
## 页面展示
## 项目结构
```text
blue-admin
├── blue-boot # 后端项目
│ ├── blue-dependencies # 项目依赖
│ ├── blue-main # 项目启动
│ ├── blue-module # 模块化
│ │ ├── blue-common # 公共模块
│ │ ├── blue-controller # 控制层
│ │ ├── blue-entity # 实体类
│ │ ├── blue-mapper # 数据持久层
│ │ ├── blue-service # 业务逻辑层
│ │ └── blue-scheduled # 任务调度
│ ├── blue-sync # 数据同步消费端
│ ├── initial-scripts # 数据库初始化脚本
│ └── pom.xml # Maven父POM
│
└── blue-boot-vue # 前端项目
├── src
│ ├── api # 接口封装
│ ├── assets # 静态资源
│ ├── components # 公共组件
│ ├── router # 路由配置
│ └── views # 页面组件
├── .env.development # 开发环境配置
├── .env.production # 生产环境配置
└── package.json # 依赖管理
```
如果本项目对你有帮助,请点亮你的⭐️ Star,项目启动上有问题可以添加我微信【vxbluesky】,空余时间可以帮忙解决哈!