- 表单: 新增定义、数据、快照三表与接口 - 字典: 字典项改为逻辑删除,同字典下值唯一 - 菜单: 移除 alwaysShow,下拉改 types,新增按钮生成与父级校验 - AI: 新增对话服务与提示词 - sql: 同步表结构与菜单权限数据 - 工作流: 新增流程模块与 BPMN 流程
13 KiB
项目简介
youlai-boot 是一套基于 Spring Boot 的企业级权限管理系统后端,配套前端 vue3-element-admin 和移动端 youlai-app,并提供 7 种语言实现(Java / Node.js / Go / Python / PHP / C# / Rust),共享同一套 API 规范与数据库结构。适用于企业中后台管理系统的学习参考与二次开发。
核心特性
-
🔐 安全体系 — Spring Security + JWT/Redis Token 双会话模式、令牌续期、多端互斥
-
🛡️ 细粒度权限 — RBAC 五级:数据 → 菜单 → 按钮 → 接口 → 字段
-
⚡ 代码生成器 — 一键生成前后端 CRUD 代码
-
📦 模块齐全 — 用户、角色、菜单、部门、字典、文件(OSS/RustFS/本地)、定时任务、消息中心、操作日志
-
🔀 工作流 — Flowable 审批流:BPMN 在线设计、条件网关、角色审批、驳回回退
-
🌐 多租户 SaaS — 数据隔离 + 租户配置,独立 youlai-boot-tenant 版本
-
🔌 实时通信 — SSE 推送:在线用户数、字典同步、通知广播
系统预览
PC 端
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
移动端
![]() |
![]() |
![]() |
![]() |
快速开始
环境要求:JDK 17+ · MySQL 8.0+ · Redis 6.0+
-
克隆项目:
git clone https://gitee.com/youlaiorg/youlai-boot.git -
导入数据库:
# 基础库(必装) sql/youlai-admin.sql # 可选扩展:不装不影响基础功能,需在基础库之后执行 sql/extensions/dynamic-form.sql # 动态表单 sql/extensions/workflow.sql # 工作流(Flowable 演示流程与演示账号,非引擎表) -
修改配置(可选,默认已配置线上只读数据源):
src/main/resources/application-dev.yml -
启动服务:
方式一:IDEA 启动(推荐) 用 IDEA 打开项目,等待 Maven 依赖下载完成,运行启动类
YouLaiBootApplication即可。方式二:命令行启动
mvn spring-boot:run启动后访问 http://localhost:8000/doc.html,能打开接口文档即说明后端已正常运行。
-
启动前端(可选): 如需可视化操作界面,启动配套前端 vue3-element-admin,访问 http://localhost:3000,使用
admin/123456登录。
目录结构
youlai-boot/
├── docs/ # 项目文档与图片资源
├── sql/ # 数据库初始化脚本
├── src/ # 源码目录
│ ├── auth/ # 认证模块
│ │ ├── password/ # 账号密码登录(含图形验证码)
│ │ ├── sms/ # 短信验证码登录
│ │ ├── qrcode/ # 扫码登录
│ │ ├── wxma/ # 微信小程序登录
│ │ └── session/ # 登录态管理(登出 / 刷新令牌)
│ ├── codegen/ # 代码生成器
│ ├── common/ # 公共模块(常量/枚举/异常/统一响应/工具类)
│ ├── config/ # 配置类(Security/Redis/MyBatis/接口文档/跨域/定时任务等)
│ ├── framework/ # 基础设施层
│ │ ├── mybatis/ # MyBatis-Plus 配置
│ │ ├── security/ # Spring Security
│ │ │ ├── config/ # 安全配置与配置属性
│ │ │ ├── filter/ # Token 认证过滤器
│ │ │ ├── handler/ # 认证 / 授权失败处理器
│ │ │ ├── model/ # 安全模型(SecurityUser / 令牌 / 数据范围)
│ │ │ ├── port/ # 认证与权限端口(由 system 提供实现)
│ │ │ ├── service/ # 用户详情与权限服务
│ │ │ ├── token/ # Token 管理(JWT / Redis 双模式)
│ │ │ └── util/ # 安全工具类
│ │ └── web/ # Web 层(全局异常/跨域/限流)
│ ├── module/ # 业务扩展模块
│ │ ├── form/ # 动态表单
│ │ └── workflow/ # 工作流
│ ├── support/ # 能力服务
│ │ ├── ai/ # AI 对话(代码生成/动态表单/工作流辅助,默认关闭)
│ │ ├── file/ # 文件存储(RustFS/阿里云OSS/本地)
│ │ ├── mail/ # 邮件服务
│ │ ├── sms/ # 短信服务
│ │ └── sse/ # SSE 消息推送
│ └── system/ # 系统业务(用户/角色/菜单/部门/字典等)
├── docker-compose.yml # 中间件一键编排(MySQL/Redis/RustFS/Xxl-Job)
└── pom.xml # Maven 依赖管理
生态矩阵
前端
| 项目 | 技术栈 | 说明 | 更新状态 |
|---|---|---|---|
| vue3-element-admin | Vue 3 + Element Plus | PC 管理前端(主推) | ✅️ |
| youlai-app | Vue 3 + UniApp | 移动端 App | ✅️ |
后端
| 项目 | 技术栈 | 说明 | 更新状态 |
|---|---|---|---|
| youlai-boot | Spring Boot + MyBatis-Plus | Java(主推) | ✅️ |
| youlai-nest | NestJS + TypeORM | Node.js | ✅️ |
| youlai-gin | Go + Gorm | Go | ✅️ |
| youlai-django | Django + DRF | Python | ✅️ |
| youlai-fastapi | FastAPI + SQLAlchemy | Python | ✅️ |
| youlai-think | ThinkPHP + ThinkORM | PHP | ✅️ |
| youlai-aspnet | ASP.NET Core + EF Core | C# | ✅️ |
| youlai-axum | Axum + SeaORM | Rust | ✅️ |
| youlai-laravel | Laravel + Eloquent | PHP | ❌️ |
九种后端共享同一套 RESTful API 规范 和 数据库结构,前端可无缝切换。
衍生版本
| 项目 | 基于 | 类型 | 说明 | 更新状态 |
|---|---|---|---|---|
| youlai-boot-tenant | youlai-boot | 独立仓库 | 多租户 SaaS,租户隔离与租户配置 | ✅️ |
| youlai-boot-flex | youlai-boot | 独立仓库 | 改用 MyBatis-Flex | ✅️ |
| youlai-boot (db-pg) | youlai-boot | 分支 | PostgreSQL 数据库分支 | ✅️ |
| youlai-boot (multi-module) | youlai-boot | 分支 | 多模块工程拆分 | ✅️ |
| youlai-nest (multi-tenant) | youlai-nest | 分支 | 多租户 SaaS,租户隔离与租户配置 | ✅️ |
| youlai-boot (spring-boot-3) | youlai-boot | 分支 | Spring Boot 3 兼容分支 | ❌️ |
可选扩展
工作流(默认关闭)
两步开启:
-
导入演示数据(演示流程与演示账号):
sql/extensions/workflow.sqlACT_* 引擎表无需导入,启动时由 Flowable 自动创建(已存在则不重复处理)。
-
在
application-{profile}.yml中开启:workflow: enabled: trueFlowable 引擎开关(process / idm / eventregistry)在
application.yml中以占位符跟随workflow.enabled,无需单独维护;只改上面一处即可。
多租户
需要租户隔离与租户配置,使用独立仓库 youlai-boot-tenant。
技术合作
本项目采用 Apache License 2.0 开源,可免费商用。欢迎在 Issue 提交问题或反馈,也欢迎提交 Pull Request 共建。
如需技术支持、商务合作、二次开发、项目定制或私有化部署,可联系作者微信(见下方二维码)。
![]() 公众号「有来技术」 |
![]() 小程序「有来技术」 |
![]() 添加作者微信 |
技术交流 · 问题反馈 · 商务合作













