|
|
|
@ -9,34 +9,35 @@
|
|
|
|
|
[![JDK-8+](https://img.shields.io/badge/JDK-8+-green.svg)]()
|
|
|
|
|
[![JDK-11](https://img.shields.io/badge/JDK-11-green.svg)]()
|
|
|
|
|
|
|
|
|
|
RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级 定期与 RuoYi-Vue 同步
|
|
|
|
|
|
|
|
|
|
集成 Lock4j dynamic-datasource OSS存储 等分布式场景解决方案
|
|
|
|
|
|
|
|
|
|
集成 Mybatis-Plus Lombok Hutool 等便捷开发工具 适配重写相关业务 便于开发
|
|
|
|
|
|
|
|
|
|
* 前端开发框架 Vue、Element UI
|
|
|
|
|
* 后端开发框架 Spring Boot、Redis
|
|
|
|
|
* 容器框架 Undertow 基于 Netty 的高性能容器
|
|
|
|
|
* 权限认证框架 Spring Security、Jwt,支持多终端认证系统
|
|
|
|
|
* 关系数据库 MySQL 适配 8.X 最低 5.7
|
|
|
|
|
* 缓存数据库 Redis 适配 6.X 最低 4.X
|
|
|
|
|
* 数据库框架 Mybatis-Plus 快速 CRUD 增加开发效率 插件化支持各类需求
|
|
|
|
|
* 数据库框架 多数据源框架 dynamic-datasource 支持主从与多种类数据库异构
|
|
|
|
|
* 数据库框架 Redis客户端 采用 Redisson 性能更强
|
|
|
|
|
* 数据库框架 性能分析插件 p6spy 更强劲的 SQL 分析
|
|
|
|
|
* 序列化框架 统一使用 jackson 高效可靠
|
|
|
|
|
* 网络框架 Feign、OkHttp3 接口化管理 HTTP 请求
|
|
|
|
|
* 分布式锁 Lock4j 注解锁、工具锁 多种多样
|
|
|
|
|
* 文件存储 OSS 对象存储模块 支持 本地存储(Minio)与云存储(七牛、阿里、腾讯)
|
|
|
|
|
* 监控框架 spring-boot-admin 全方位服务监控
|
|
|
|
|
* 校验框架 validation 增强接口安全性 严谨性
|
|
|
|
|
* Excel框架 Alibaba EasyExcel 性能优异 扩展性强
|
|
|
|
|
* 文档框架 knife4j 美化接口文档
|
|
|
|
|
* 工具类框架 Hutool、Lombok 减少代码冗余 增加安全性
|
|
|
|
|
* 代码生成器 一键生成前后端代码
|
|
|
|
|
* 部署方式 Docker 容器编排 一键部署业务集群
|
|
|
|
|
* 国际化 Spring 标准国际化方解决方案
|
|
|
|
|
RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级(不兼容原框架)
|
|
|
|
|
|
|
|
|
|
| 功能介绍 | 使用技术 | 文档地址 | 特性注意事项 |
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
| 当前框架 | RuoYi-Vue-Plus | [RuoYi-Vue-Plus文档](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages) | 重写RuoYi-Vue全方位升级(不兼容原框架) |
|
|
|
|
|
| 原框架 | RuoYi-Vue | [RuoYi-Vue官网](http://ruoyi.vip/) | 定期同步需要的功能 |
|
|
|
|
|
| 前端开发框架 | Vue、Element UI | [Element UI官网](https://element.eleme.cn/#/zh-CN) | |
|
|
|
|
|
| 后端开发框架 | SpringBoot | [SpringBoot官网](https://spring.io/projects/spring-boot/#learn) | |
|
|
|
|
|
| 容器框架 | Undertow | [Undertow官网](https://undertow.io/) | 基于 Netty 的高性能容器 |
|
|
|
|
|
| 权限认证框架 | Spring Security、Jwt | [SpringSecurity官网](https://spring.io/projects/spring-security#learn) | 支持多终端认证系统 |
|
|
|
|
|
| 关系数据库 | MySQL | [MySQL官网](https://dev.mysql.com/) | 适配 8.X 最低 5.7 |
|
|
|
|
|
| 缓存数据库 | Redis | [Redis官网](https://redis.io/) | 适配 6.X 最低 4.X |
|
|
|
|
|
| 数据库框架 | Mybatis-Plus | [Mybatis-Plus文档](https://baomidou.com/guide/) | 快速 CRUD 增加开发效率 |
|
|
|
|
|
| 数据库框架 | p6spy | [p6spy官网](https://p6spy.readthedocs.io/) | 更强劲的 SQL 分析 |
|
|
|
|
|
| 多数据源框架 | dynamic-datasource | [dynamic-ds文档](https://www.kancloud.cn/tracy5546/dynamic-datasource/content) | 支持主从与多种类数据库异构 |
|
|
|
|
|
| Redis客户端 | Redisson | [Redisson文档](https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95) | 性能强劲、API丰富 |
|
|
|
|
|
| 序列化框架 | Jackson | [Jackson官网](https://github.com/FasterXML/jackson) | 统一使用 jackson 高效可靠 |
|
|
|
|
|
| 网络框架 | Feign、OkHttp3 | [Feign官网](https://github.com/OpenFeign/feign) | 接口化管理 HTTP 请求 |
|
|
|
|
|
| 分布式锁 | Lock4j | [Lock4j官网](https://gitee.com/baomidou/lock4j) | 注解锁、工具锁 多种多样 |
|
|
|
|
|
| 文件存储 | Minio | [Minio文档](https://docs.min.io/) | 本地存储 |
|
|
|
|
|
| 文件存储 | 七牛、阿里、腾讯 | [OSS使用文档](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4359146&doc_id=1469725) | 云存储 |
|
|
|
|
|
| 监控框架 | SpringBoot-Admin | [SpringBoot-Admin文档](https://codecentric.github.io/spring-boot-admin/current/) | 全方位服务监控 |
|
|
|
|
|
| 校验框架 | Validation | [Validation文档](https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/) | 增强接口安全性、严谨性 |
|
|
|
|
|
| Excel框架 | Alibaba EasyExcel | [EasyExcel文档](https://www.yuque.com/easyexcel/doc/easyexcel) | 性能优异 扩展性强 |
|
|
|
|
|
| 文档框架 | Knife4j | [Knife4j文档](https://doc.xiaominfo.com/knife4j/documentation/) | 美化接口文档 |
|
|
|
|
|
| 工具类框架 | Hutool、Lombok | [Hutool文档](https://www.hutool.cn/docs/) | 减少代码冗余 增加安全性 |
|
|
|
|
|
| 代码生成器 | 适配MP、Knife4j规范化代码 | [Hutool文档](https://www.hutool.cn/docs/) | 一键生成前后端代码 |
|
|
|
|
|
| 部署方式 | Docker | [Docker文档](https://docs.docker.com/) | 容器编排 一键部署业务集群 |
|
|
|
|
|
| 国际化 | SpringMessage | [SpringMVC文档](https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc) | Spring标准国际化方案 |
|
|
|
|
|
|
|
|
|
|
## 参考文档
|
|
|
|
|
|
|
|
|
@ -59,41 +60,7 @@ RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级 定期
|
|
|
|
|
|
|
|
|
|
欢迎各路英雄豪杰 `PR` 代码 请提交到 `dev` 开发分支 统一测试发版
|
|
|
|
|
|
|
|
|
|
框架定位为 `通用后台管理系统(分布式集群强化)` 原则上不接受业务 `PR`
|
|
|
|
|
|
|
|
|
|
## 修改RuoYi功能
|
|
|
|
|
### 依赖改动
|
|
|
|
|
|
|
|
|
|
* ORM框架 使用 Mybatis-Plus 简化CRUD (不支持主子表)
|
|
|
|
|
* Bean简化 使用 Lombok 简化 get set toString 等等
|
|
|
|
|
* 容器改动 Tomcat 改为 并发性能更好的 undertow
|
|
|
|
|
* 移除 pagehelper 改为 Mybatis-Plus 分页
|
|
|
|
|
* 集成 p6spy 更强劲的 SQL 分析
|
|
|
|
|
* 升级 swagger 为 knife4j
|
|
|
|
|
* 集成 Hutool 5.X 并重写RuoYi部分功能
|
|
|
|
|
* 集成 Feign 接口化管理 Http 请求(如三方请求 支付,短信,推送等)
|
|
|
|
|
* 移除 自带服务监控 改为 spring-boot-admin 全方位监控
|
|
|
|
|
* 增加 demo 模块示例(给不会增加模块的小伙伴做参考)
|
|
|
|
|
* 增加 redisson 高性能 Redis 客户端
|
|
|
|
|
* 移除 fastjson 统一使用 jackson 序列化
|
|
|
|
|
* 集成 dynamic-datasource 多数据源(默认支持MySQL,其他种类需自行适配)
|
|
|
|
|
* 集成 Lock4j 实现分布式 注解锁、工具锁 多种多样
|
|
|
|
|
* 增加 Docker 容器编排 打包插件与部署脚本
|
|
|
|
|
* 移除 通用上传下载 改为 OSS对象存储 支持(Minio、七牛、阿里、腾讯)
|
|
|
|
|
* 移除 RuoYi自带 Excel 工具 改为 EasyExcel 工具
|
|
|
|
|
|
|
|
|
|
### 代码改动
|
|
|
|
|
|
|
|
|
|
* 所有原生功能使用 Mybatis-Plus 与 Lombok 重写
|
|
|
|
|
* 增加 IServicePlus 与 BaseMapperPlus 可自定义通用方法
|
|
|
|
|
* 代码生成模板 改为适配 Mybatis-Plus 的代码
|
|
|
|
|
* 代码生成模板 根据 Alibaba 代码规约 拆分出 VO、BO 等领域对象
|
|
|
|
|
* 代码生成模板 增加 文档注解 与 校验注解 简化通用操作
|
|
|
|
|
* 项目修改为 maven多环境配置
|
|
|
|
|
* 项目配置修改为 application.yml 统一管理
|
|
|
|
|
* 数据权限修改为 适配支持单表、多表
|
|
|
|
|
* 使用 redisson 实现 spring-cache 整合
|
|
|
|
|
* 增加 mybatis-plus 二级缓存 redis 存储
|
|
|
|
|
框架定位为 `通用后台管理系统(分布式集群强化)` 原则上不接受业务 `PR`
|
|
|
|
|
|
|
|
|
|
### 其他
|
|
|
|
|
|
|
|
|
@ -111,26 +78,29 @@ RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级 定期
|
|
|
|
|
<img src="https://images.gitee.com/uploads/images/2021/0525/101654_451e4523_1766278.jpeg" width="300px" height="450px" />
|
|
|
|
|
<img src="https://images.gitee.com/uploads/images/2021/0525/101713_3d18b119_1766278.jpeg" width="300px" height="450px" />
|
|
|
|
|
|
|
|
|
|
## 内置功能
|
|
|
|
|
|
|
|
|
|
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
|
|
|
|
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
|
|
|
|
|
3. 岗位管理:配置系统用户所属担任职务。
|
|
|
|
|
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
|
|
|
|
|
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
|
|
|
|
|
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
|
|
|
|
|
7. 参数管理:对系统动态配置常用参数。
|
|
|
|
|
8. 通知公告:系统通知公告信息发布维护。
|
|
|
|
|
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
|
|
|
|
|
10. 登录日志:系统登录日志记录查询包含登录异常。
|
|
|
|
|
11. 在线用户:当前系统中活跃用户状态监控。
|
|
|
|
|
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
|
|
|
|
|
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
|
|
|
|
|
14. 系统接口:根据业务代码自动生成相关的api接口文档。
|
|
|
|
|
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
|
|
|
|
|
16. 缓存监控:对系统的缓存信息查询,命令统计等。
|
|
|
|
|
17. 在线构建器:拖动表单元素生成相应的HTML代码。
|
|
|
|
|
18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
|
|
|
|
|
## 业务功能
|
|
|
|
|
|
|
|
|
|
| 功能 | 介绍 |
|
|
|
|
|
|---|---|
|
|
|
|
|
| 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置。 |
|
|
|
|
|
| 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 |
|
|
|
|
|
| 岗位管理 | 配置系统用户所属担任职务。 |
|
|
|
|
|
| 菜单管理 | 配置系统菜单,操作权限,按钮权限标识等。 |
|
|
|
|
|
| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分。 |
|
|
|
|
|
| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护。 |
|
|
|
|
|
| 参数管理 | 对系统动态配置常用参数。 |
|
|
|
|
|
| 通知公告 | 系统通知公告信息发布维护。 |
|
|
|
|
|
| 操作日志 | 系统正常操作日志记录和查询;系统异常信息日志记录和查询。 |
|
|
|
|
|
| 登录日志 | 系统登录日志记录查询包含登录异常。 |
|
|
|
|
|
| 文件管理 | 系统文件上传、下载等管理。 |
|
|
|
|
|
| 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志。 |
|
|
|
|
|
| 代码生成 | 前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 |
|
|
|
|
|
| 系统接口 | 根据业务代码自动生成相关的api接口文档。 |
|
|
|
|
|
| 服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等。 |
|
|
|
|
|
| 缓存监控 | 对系统的缓存信息查询,命令统计等。 |
|
|
|
|
|
| 在线构建器 | 拖动表单元素生成相应的HTML代码。 |
|
|
|
|
|
| 连接池监视 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 |
|
|
|
|
|
| 使用案例 | 系统的一些功能案例 |
|
|
|
|
|
|
|
|
|
|
## 演示图例
|
|
|
|
|
|
|
|
|
@ -172,11 +142,3 @@ RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级 定期
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
## 在线体验
|
|
|
|
|
|
|
|
|
|
- admin/admin123
|
|
|
|
|
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
|
|
|
|
|
|
|
|
|
|
演示地址:http://vue.ruoyi.vip
|
|
|
|
|
文档地址:http://doc.ruoyi.vip
|
|
|
|
|