RuoYi-Vue-Plus 发布 5.4.0 正式版
更新日志
新增成员项目
-
基于soybean前端 ruoyi-plus-soybean https://gitee.com/xlsea/ruoyi-plus-soybean
-
删除多租户与工作流后端 RuoYi-Vue-Plus-Single https://gitee.com/ColorDreams/RuoYi-Vue-Plus-Single
依赖升级
-
update springboot 3.4.4 => 3.4.6
-
update mybatis-plus 3.5.11 => 3.5.12
-
update springboot-admin 3.4.5 => 3.4.7
-
update warm-flow 1.6.8 => 1.7.2(感谢 May)
-
update EasyExcel 升级原作者 FastExcel 1.2.0(感谢 这夏天依然平凡)
-
update snailjob 1.4.0 => 1.5.0(感谢 AprilWind)
-
update springdoc 2.8.5 => 2.8.8
-
update bouncycastle 1.76 => 1.80
-
update mapstruct-plus 1.4.6 => 1.4.8
-
update docker mysql建议版本升级到8.0.42
-
update docker redis建议版本升级到7.2.8
-
update docker minio建议版本升级到RELEASE.2025-05-24T17-08-30Z
-
update satoken 1.40.0 => 1.42.0 适配所有升级项(改动较多)
satoken改动如下:
SaLoginModel -> SaLoginParameter
device -> deviceType satoken
BCrypt -> hutool BCrypt(satoken不维护了)
SaTokenDao -> SaTokenDaoBySessionFollowObject(satoken做了重构封装)
sse 适配新satoken版本拦截器变化
功能更新
-
update 优化 删除退回任务bo关于驳回的节点的非空校验(感谢 晓华)
-
update 优化 权限获取 增加用户登录了但是查询的loginId是别人的场景
-
update 优化 调整流程监听(感谢 May)
-
update 优化 代码生成ServiceImpl层增加日志注解(感谢 AprilWind)
-
update 优化 新增发号器工具类方法(感谢 AprilWind)
-
update 优化 nginx代理snail-job websocket参数 解决部署到服务器后 查看日志会显示ws连接失败(感谢 qxy)
-
update 优化 动态路由迁移到菜单管理
-
update 优化 统一请假日期字段格式处理(感谢 AprilWind)
-
update 优化 工作流创建事件 将状态交给业务方处理
-
update 优化 JustAuth的钉钉和微信第三方登录使用最新实现类(感谢 AprilWind)
-
update 优化 工作流自定义条件注解注释(感谢 AprilWind)
-
update 优化 工作流模块下一个节点指定办理人、角色和部门转具体用户、抄送人和消息推送,改到通过全局分派监听器和完成监听器处理
-
update 优化 假分页方法(感谢 AprilWind)
-
update 优化 重构办理人接口(感谢 AprilWind)
-
update 优化 调整获取申请人节点接口(感谢 May)
-
update 优化 调整流程撤销 删除无用代码(感谢 May)
-
update 优化 EncryptUtils加解密注释(感谢 AprilWind)
-
update 优化 docker-compose编排增加snailjob端口防止集群冲突
-
update 优化 多租户忽略表判断支持忽略大小写
-
update 优化 直接从ClassPath加载ip2region数据库文件(感谢 秋辞未寒)
-
update 优化 查询系统菜单列表新增菜单类型与父级ID查询条件(感谢 马铃薯头)
-
update 优化 放开申请人附件与抄送限制 附件改为按钮权限控制(感谢 May)
-
update 优化 获取地址支持IPv6判断而不是抛异常(感谢 秋辞未寒)
-
update 优化 日期与字符串工具类(感谢 AprilWind)
-
update 优化 枚举类型注释(感谢 AprilWind)
-
update 优化 返回任务指派的列表增加时间查询条件(感谢 AprilWind)
-
update 优化 getNextNodeList 只获取中间节点用于审批 过滤其他无用节点
-
update 优化 缓存注解支持关闭本地缓存
-
update 优化 实体类统一使用包装类型
-
update 优化 Mybatis异常处理器(感谢 AprilWind)
-
update 优化 工作流用户查询构建(感谢 May)
-
update 优化 工作流权限按钮获取,若需要扩展更多按钮权限,只需在 sources 中新增对应的枚举类或字典类型(感谢 AprilWind)
-
update 优化 统一流程demo 权限人分隔符
-
update 优化 工作流获取流程变量(感谢 AprilWind)
-
update 优化 统一工作流FlowParams构造方式为建造者模式 提升代码可读性(感谢 AprilWind)
-
update 优化 调整监听器事件参数代码
-
update 优化 工作流流程监听增加节点信息(感谢 AprilWind)
-
update 优化 工作流办理人权限处理器(感谢 AprilWind)
-
update 优化 Dockerfile 构建文件新增暴露 snail job 客户端端口 用于定时任务调度中心通信(感谢 Binary)
-
update 优化 使用 record 简化vo代码
-
update 优化 FlwNodeExtServiceImpl 代码实现
-
update 优化 sse 删除之后 手动触发完成 防止内存泄漏
-
update 优化 支持excel方法抛出json异常
功能新增
-
add 新增 工作流api审批简化方法
-
add 新增 批量级联删除菜单接口(感谢 马铃薯头)
-
add 新增 自定义字典值校验器(感谢 AprilWind)
-
add 新增 对接 gitea 三方单点登录(感谢 lcry)
-
add 新增 自定义 Date 类型反序列化处理器(支持多种格式)(感谢 AprilWind)
-
add 新增 请求体读取异常处理(感谢 AprilWind)
-
add 新增 一大堆snailjob的demo案例(感谢 老马)
问题修复
-
fix 修复 解决通过loginId查询角色和菜单权限 而非当前用户时 报错问题
-
fix 修复 退回申请人无法发送消息问题(感谢 songgaoshuai)
-
fix 修复 查询办理人错误使用(感谢 AprilWind)
-
fix 修复 snailjob http basic验证判断错误
-
fix 修复 excel 合并单元格在导出在最后一行无法合并时 之前的数据合并失效问题(感谢 马铃薯头)
-
fix 修复 临时解决sa-token使用秒 redis是毫秒导致1秒的精度问题 手动补偿(等satoken官方修复)
-
fix 修复 选择弹窗会签人员后 会签审批出现每个任务的审批人都是选择的多人(感谢 May)
-
fix 修复 在线用户设置过期时间与客户端不同步问题
-
fix 修复 excel模板导出多个字段下拉值超过100个异常 采用多个sheet的方案解决(感谢 velenooo)
前端改动
-
update element-plus 2.9.8
-
update pinia 3.0.2
-
update vue-router 4.5.0
-
update vue-types 6.0.0
-
update vxe-table 4.13.7
-
update sass 1.87.0
-
update typescript 5.8.3
-
update vite 6.3.2
-
add 新增 工作流流程预览 使用logicflow前端渲染(感谢 May)
-
add 新增 批量级联删除菜单接口(感谢 马铃薯头)
-
update 优化 添加页签图标显示开关功能
-
update 优化 表格增加border(感谢 May)
-
update 优化 动态路由迁移到菜单管理
-
update 优化 审批按钮 封装成公共组件(感谢 May)
-
update 优化 执行eslint:fix优化代码
-
update 优化 修改navbar中消息图标样式与同行元素保持一致(感谢 愿丶)
-
update 更新 readme 增加新成员项目
-
update 优化 工作流分类与流程设计新增联动(感谢 MoMyles)
-
update 优化 增加oss站点与域名 默认前缀避免填错
-
update 优化 登出之后清理tabs
-
update 优化 角色禁用不允许分配
-
update 优化 删除无用组件
-
fix 修复 请假时间 时间组件没法和rule规则联动问题(ele的bug手动设置必填)
-
fix 修复 请假提交未取消按钮loading问题
-
fix 修复 前端download方法响应json异常问题
cloud改动
-
update 优化 重构 ruoyi-common-dict 改为为 ruoyi-common-service-impl 定位变更为通用service实现模块
-
update 优化 更新 RabbitMQ 优化发送和消费手动确认机制(感谢 鞠聪)
-
fix 修复 dubbo redis 元数据中心 报错找不到元数据问题 官方插件代码实现类有问题
-
fix 修复 新建租户未复制工作流相关数据问题
-
fix 修复 临时处理satoken对dubbo内部调用的情况考虑不周 导致无法获取上下文都bug
平台简介
RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对
分布式集群与多租户
场景全方位升级(不兼容原框架)
项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可
活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源
系统演示: https://plus-doc.dromara.org/#/common/demo_system
前端项目地址: https://gitee.com/JavaLionLi/plus-ui
成员前端项目地址: 基于vben5 https://gitee.com/dapppp/ruoyi-plus-vben5
文档地址: https://plus-doc.dromara.org
本框架与RuoYi的功能差异
功能 | 本框架 | RuoYi |
---|---|---|
前端项目 | 采用 Vue3 + TS + ElementPlus 重写 | 基于Vue2/Vue3 + JS |
后端项目结构 | 采用插件化 + 扩展包形式 结构解耦 易于扩展 | 模块相互注入耦合严重难以扩展 |
后端代码风格 | 严格遵守Alibaba规范与项目统一配置的代码格式化 | 代码书写与常规结构不同阅读障碍大 |
Web容器 | 采用 Undertow 基于 XNIO 的高性能容器 | 采用 Tomcat |
权限认证 | 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 | Spring Security 配置繁琐扩展性极差 |
权限注解 | 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验 角色与权限校验支持多种条件 如 AND OR 或 权限 OR 角色 等复杂表达式 | 只支持是否存在匹配 |
三方鉴权 | 采用 JustAuth 第三方登录组件 支持微信、钉钉等数十种三方认证 | 无 |
关系数据库支持 | 原生支持 MySQL、Oracle、PostgreSQL、SQLServer 可同时使用异构切换(支持其他 mybatis-plus 支持的所有数据库 只需要增加jdbc依赖即可使用 达梦金仓等均有成功案例) | 支持 Mysql、Oracle 不支持同时使用、不支持异构切换 |
缓存数据库 | 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 | Redis 简单 get set 支持 |
Redis客户端 | 采用 Redisson Redis官方推荐 基于Netty的客户端工具 支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan 支持单机、哨兵、单主集群、多主集群等模式 | Lettuce + RedisTemplate 支持模式少 工具使用繁琐 连接池采用 common-pool Bug多经常性出问题 |
缓存注解 | 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能 例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 | 需手动编写Redis代码逻辑 |
ORM框架 | 采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多 例如多租户插件 分页插件 乐观锁插件等等 | 采用 Mybatis 基于XML需要手写SQL |
SQL监控 | 采用 p6spy 可输出完整SQL与执行时间监控 | log输出 需手动拼接sql与参数无法快速查看调试问题 |
数据分页 | 采用 Mybatis-Plus 分页插件 框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序 | 采用 PageHelper 仅支持单查询分页 参数只能从param传 只能单排序 功能扩展性差 体验不好 |
数据权限 | 采用 Mybatis-Plus 插件 自行分析拼接SQL 无感式过滤 只需为Mapper设置好注解条件 支持多种自定义 不限于部门角色 | 采用 注解+aop 实现 基于部门角色 生成的sql兼容性差 不支持其他业务扩展 生成sql后需手动拼接到具体业务sql上 对于多个Mapper查询不起作用 |
数据脱敏 | 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件 支持多种策略 如身份证、手机号、地址、邮箱、银行卡等 可自行扩展 | 无 |
数据加解密 | 采用 注解 + mybatis 拦截器 对存取数据期间自动加解密 支持多种策略 如BASE64、AES、RSA、SM2、SM4等 | 无 |
接口传输加密 | 采用 动态 AES + RSA 加密请求 body 每一次请求秘钥都不同大幅度降低可破解性 | 无 |
数据翻译 | 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译 支持多种模式: 映射翻译 直接翻译 其他扩展条件翻译 接口化两步即可完成自定义扩展 内置多种翻译实现 | 无 |
多数据源框架 | 采用 dynamic-datasource 支持市面大部分数据库 通过yml配置即可动态管理异构不同种类的数据库 也可通过前端页面添加数据源 支持spel表达式从请求头参数等条件切换数据源 | 基于 druid 手动编写代码配置数据源 配置繁琐 支持性差 |
多数据源事务 | 采用 dynamic-datasource 支持多数据源不同种类的数据库事务回滚 | 不支持 |
数据库连接池 | 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 | 采用 druid bug众多 社区维护差 活跃度低 配置众多繁琐性能一般 |
数据库主键 | 采用 雪花ID 基于时间戳的 有序增长 唯一ID 再也不用为分库分表 数据合并主键冲突重复而发愁 | 采用 数据库自增ID 支持数据量有限 不支持多数据源主键唯一 |
WebSocket协议 | 基于 Spring 封装的 WebSocket 协议 扩展了Token鉴权与分布式会话同步 不再只是基于单机的废物 | 无 |
SSE推送 | 采用 Spring SSE 实现 扩展了Token鉴权与分布式会话同步 | 无 |
序列化 | 采用 Jackson Spring官方内置序列化 靠谱!!! | 采用 fastjson bugjson 远近闻名 |
分布式幂等 | 参考美团GTIS防重系统简化实现(细节可看文档) | 手动编写注解基于aop实现 |
分布式锁 | 采用 Lock4j 底层基于 Redisson | 无 |
分布式任务调度 | 采用 SnailJob 天生支持分布式 统一的管理中心 支持多种数据库 支持分片重试DAG任务流等 | 采用 Quartz 基于数据库锁性能差 集群需要做很多配置与改造 |
文件存储 | 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储 支持权限管理 安全可靠 文件可加密存储 | 采用 本机文件存储 文件裸漏 易丢失泄漏 不支持集群有单点效应 |
云存储 | 采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家 | 不支持 |
短信 | 采用 sms4j 短信融合包 支持数十种短信厂家 只需在yml配置好厂家密钥即可使用 可多厂家共用 | 不支持 |
邮件 | 采用 mail-api 通用协议支持大部分邮件厂商 | 不支持 |
接口文档 | 采用 SpringDoc、javadoc 无注解零入侵基于java注释 只需把注释写好 无需再写一大堆的文档注解了 | 采用 Springfox 已停止维护 需要编写大量的注解来支持文档生成 |
校验框架 | 采用 Validation 支持注解与工具类校验 注解支持国际化 | 仅支持注解 且注解不支持国际化 |
Excel框架 | 采用 Alibaba EasyExcel 基于插件化 框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等 | 基于 POI 手写实现 功能有限 复杂 扩展性差 |
工作流支持 | 支持各种复杂审批 转办 委派 加减签 会签 或签 票签 等功能 | 无 |
工具类框架 | 采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码 | 手写工具稳定性差易出问题 工具数量有限 代码臃肿需自己手写 get set 等 |
监控框架 | 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制 实时监控服务状态 框架还为其扩展了在线日志查看监控 | 无 |
链路追踪 | 采用 Apache SkyWalking 还在为请求不知道去哪了 到哪出了问题而烦恼吗 用了它即可实时查看请求经过的每一处每一个节点 | 无 |
代码生成器 | 只需设计好表结构 一键生成所有crud代码与页面 降低80%的开发量 把精力都投入到业务设计上 框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成 | 代码生成原生结构 只支持单数据源生成 |
部署方式 | 支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼 | 原生jar部署 其他环境需手动下载安装 自行搭建 |
项目路径修改 | 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 | 需要做很多改造 文档说明有限 |
国际化 | 基于请求头动态返回不同语种的文本内容 开发难度低 有对应的工具类 支持大部分注解内容国际化 | 只提供基础功能 其他需自行编写扩展 |
代码单例测试 | 提供单例测试 使用方式编写方法与maven多环境单测插件 | 只提供基础功能 其他需自行编写扩展 |
Demo案例 | 提供框架功能的实际使用案例 单独一个模块提供了很多很全 | 无 |

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
中科鸿略受邀参加开源鸿蒙开发者大会,携手共创万物智联世界的美好未来!
5月24日,开源鸿蒙开发者大会2025(OHDC.2025,以下简称“大会”)在深圳隆重开幕。会上正式发布了开源鸿蒙5.1 Release版本,并进行开源鸿蒙应用技术组件共建启动、开源鸿蒙AI Agent技术共建启动等重要仪式,同时设立八大主题分论坛,邀请开源操作系统技术专家、前沿实践专家、开发者、生态伙伴代表等嘉宾汇聚一堂,共同探讨开源鸿蒙技术的未来发展、分享最前沿的开发经验。 北京市中科鸿略科技有限公司(以下简称“中科鸿略”)作为OH项目工作组重要成员,受邀出席本次大会,参与多项发布仪式,并于硬件分论坛发表主题演讲。 作为东方中科控股的专注开源鸿蒙技术研发的企业,中科鸿略自成立之初一直专注于开源鸿蒙操作系统的适配与移植工作和重点行业的拓展,是业内领先的开源鸿蒙一体化场景与发行版厂商。目前已经帮助伙伴完成上百台不同型号、不同芯片的硬件开源鸿蒙化的适配工作,相信本次开源鸿蒙5.1 Release版本的发布,必将使得中科鸿略为各行业客户提供的商业发行版在原能力基础上更进一步。 在AI分论坛现场,开源鸿蒙AI Model SIG启动仪式正式启航,公司总经理樊洪光参加了本次开源鸿蒙AI Mo...
- 下一篇
RuoYi-Cloud-Plus 发布 2.4.0 正式版
更新日志 新增成员项目 基于soybean前端 ruoyi-plus-soybean https://gitee.com/xlsea/ruoyi-plus-soybean 删除多租户与工作流后端 RuoYi-Vue-Plus-Single https://gitee.com/ColorDreams/RuoYi-Vue-Plus-Single cloud改动 update 优化 重构 ruoyi-common-dict 改为为 ruoyi-common-service-impl 定位变更为通用service实现模块 update 优化 更新 RabbitMQ 优化发送和消费手动确认机制(感谢 鞠聪) fix 修复 dubbo redis 元数据中心 报错找不到元数据问题 官方插件代码实现类有问题 fix 修复 新建租户未复制工作流相关数据问题 fix 修复 临时处理satoken对dubbo内部调用的情况考虑不周 导致无法获取上下文都bug 依赖升级 update springboot 3.4.4 => 3.4.6 update mybatis-plus 3.5.11 => ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G