RuoYi-Cloud-Plus 2.3.0 正式版发布:全面升级数据权限与工作流引擎
RuoYi-Cloud-Plus作为一款基于Spring Cloud Alibaba的企业级微服务快速开发平台,在2.3.0版本中带来了多项重要改进和新特性。本次更新重点重构了数据权限实现逻辑和工作流模块,同时对系统整体架构进行了优化升级。
核心架构升级
在基础架构方面,本次更新将Spring Boot版本从3.2.11升级到3.4.4,同时Spring Cloud也同步更新至2024.0.0版本。这一升级带来了更好的性能表现和更完善的功能支持。值得注意的是,系统现在全面支持JDK21的虚拟线程特性,通过优化Dubbo线程池配置,可以充分发挥虚拟线程在高并发场景下的优势。
数据权限模块进行了彻底重构,新的实现方式支持在任意Mapper方法上标注注解,不再需要寻找真实Mapper进行标注。这一改进大大降低了开发者的使用门槛,使数据权限配置更加灵活便捷。同时,数据权限处理器增加了默认值处理机制,能够更好地处理表达式变量与注解不对应或表达式变量为null的情况。
工作流引擎革新
工作流模块是本版本的另一大亮点。团队决定移除复杂的Flowable工作流引擎,转而采用更简单易用的warm-flow工作流框架。这一改变主要基于实际使用反馈——许多开发者反映Flowable过于复杂,学习成本高。新的工作流引擎不仅简化了配置和使用流程,还增加了多项实用功能:
- 支持动态设置下一节点审批人
- 完善了按钮权限配置
- 增加了流程分类标识
- 优化了办理人标识符解析
工作流监听器也进行了改进,现在能够正确处理MQ投递过程中可能丢失的租户信息,确保多租户环境下的数据隔离。
微服务生态增强
在微服务支持方面,2.3.0版本做了多项优化:
- 将Nacos、Sentinel等服务改为jar包内嵌集成,减少了工程代码量,简化了部署流程
- Seata升级至2.3.0版本,考虑到新版本连接问题,默认不启用,开发者可根据需要自行开启
- 增加了RPC异常拦截器,完善了分布式调用链路的错误处理
- 接口文档服务现在能够从Gateway转发的请求头中正确获取服务路径
Prometheus监控支持也得到了增强,现在能够兼容携带context-path的服务,并支持配置账号密码鉴权访问。
功能优化与问题修复
系统在多个细节层面进行了优化:
- OSS私有桶的临时URL获取方法更加高效
- 部门树展示支持相同名称节点并排显示
- 数据权限查询增加了缓存机制
- 逻辑删除状态统一改为1,避免误解
- 用户密码校验长度进行了统一
前端方面同样有不少改进:
- 国际化支持更加完善,$t方法现在支持TS类型提示
- 菜单面包屑导航支持多层级显示
- 字典缓存改用Map实现,性能更高
- 优化了树结构拼接性能
修复的问题包括但不限于:
- 数据权限导致的个人中心接口错误
- 代码生成器在PostgreSQL下的主键获取问题
- 关闭验证码后限流注解仍然生效的问题
- 多角色与权限标识符共用导致的数据权限问题
开发者体验提升
为提升开发者体验,本次更新特别关注了以下方面:
-
代码生成器增强:
- 增加buildQueryWrapper默认排序规则
- 修复创建更新时间被覆盖问题
- 改进数字类别判断
- 支持下拉框默认值处理
-
工具类丰富:
- 新增基于Redisson的发号器工具
- 增加对象工具类
- 重构DateUtils工具类使其更加实用
-
验证支持:
- Validation现在支持枚举校验
- 校验框架配置类加载顺序优化
-
文档完善:
- 补充了客户端工具类注释
- 增加了Undertow自定义配置信息说明
RuoYi-Cloud-Plus 2.3.0版本通过这一系列改进,在功能性、易用性和性能方面都有显著提升,特别是重构后的数据权限和工作流模块,将大大降低开发者的学习成本和使用难度,为企业级应用开发提供了更加强大且易用的基础平台。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考