# ruoyi-plus-uniapp **Repository Path**: java-utils-one/ruoyi-plus-uniapp ## Basic Information - **Project Name**: ruoyi-plus-uniapp - **Description**: Ruoyi-Plus-Uniapp 是基于Ruoyi-Vue-Plus深度重构的全栈企业级开发框架,四层架构,集成Spring Boot 3、Mqtt、rocketmq、Vue3、UniApp。核心特性:多租户隔离、AI集成、微信小程序/公众号、支付系统、WebSocket实时通信、代码生成、 OSS管理、国际化、工作流等,提供PC端移动端完整解决方案 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: https://ruoyi.plus - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-01-28 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ruoyi-Plus-Uniapp新特性 - **[📺新特性全面解析](https://www.bilibili.com/video/BV1YrtMzvEaT/)** ### 分支说明 - master: 默认分支,多租户分支 - workflow: 多租户工作流分支 - single:移除所有多租户逻辑的分支 ### 核心理念 - **代码即文档** - 通过规范化命名和完善注释实现代码自解释 - **全栈统一** - 前后端命名规范、类型定义、接口管理保持一致 - **开发友好** - 注重开发体验和可维护性,减少冗余代码 ## 一、后端重构优化 ### 1.1 基础架构重构 #### 四层架构设计 - 采用标准**四层架构**:Controller → Service → DAO → Mapper,职责清晰分离 - **Service层**:不继承任何基类,直接实现业务接口,保持轻量和灵活 - **DAO层**:独立数据访问层,继承 `IBaseDao` 接口,实现 `buildQueryWrapper()` 方法构建查询条件 - **Mapper层**:只继承 `BaseMapper`,专注SQL执行 - 数据类型规范:DAO和Mapper层只返回Entity类型,Service层使用 `MapstructUtils.convert()` 进行BO/VO转换 #### 查询增强组件 - 增强 MyBatis-Plus 查询功能,Query增强为PlusQuery,LambdaQuery增强为PlusLambdaQuery 支持聚合函数及条件自动处理 - 查询条件统一在DAO层通过 `buildQueryWrapper(Bo)` 方法构建,自动处理null值判断 - 支持精确匹配、模糊查询、时间范围查询等多种查询方式的灵活组合 #### 响应结果封装 - 重构 TableDataInfo 为 PageResult,统一返回数据为 `R>` 里面包含分页信息(是否最后一页 页码 每页条数等)和数据列表 - 完善 R 类注释,统一 API 响应结果封装,优化成功和失败消息返回方法 - 增加安全获取 data 方法和标准 API 响应结构 ### 1.2 配置与环境管理 #### 应用配置重构 - 增加前后端唯一标识符应用ID,做好不同项目间的数据隔离 - 重命名 RuoYiConfig 为 AppConfig,更新相关配置项 - 增加core核心包相关工具类功能 ### 1.3 数据库与字典系统 #### 数据库结构调整 - 重构数据库表命名规范,统一使用 sys_ 前缀 修改 gen_table 为 sys_gen_table,gen_table_column 为 sys_gen_table_column - 逻辑删除统一修改为 isDeleted - 性别字典修改:女0 男1 未知2,sys_user_sex 改为 sys_user_gender - 修改字典数据主键 dict_code 改为 dict_data_id #### 字典系统重构 - 系统中统一采用 1=是/正面状态,0=否/负面状态 的约定 - 重构字典类型和字典值,字典数据默认值统一为 1,否为 0 - 重构字典枚举命名以 Dict 开头,字典枚举统一放在core/dict包下 提高代码可发现性 - 优化字典实现类 ### 1.4 租户系统完善 #### 租户功能增强 - 统一获取租户 ID 方案,提供兜底租户 ID,确保租户 ID 不为空 可以随时开启或者关闭租户功能不产生脏数据 - OSS 存储加上租户 ID 前缀作为目录区分 - 新增租户需要同步角色,增加角色同步到租户功能 因为开发过程角色也属于业务的一部分 实现同步功能可以最小化改动来供新租户使用 ### 1.5 权限与安全系统 #### 权限标识符规范化 - 菜单权限标识符为:模块:表:标识符 格式 - 如 system:user:view/query/add/update/delete/import/export - 代码生成默认生成权限控制部分 打开注释即可启用 #### 认证系统优化 - 登录实现迁移到系统模块 auth 包下,保持 admin 模块简洁 - 重命名授权类型和设备类型为认证方式和应用类型 - 移除客户端管理,减少冗余代码,精简实现 主要分为两个客户端即可 由枚举UserType进行控制管理 - 增加miniapp小程序模块,增加mp模块,实现对小程序(包括微信小程序的完整实现,以及QQ 支付宝 京东 抖音等各类小程序的扩展实现和预留实现)以及微信公众号的完整实现 开箱即用 - 实现小程序 公众号多个配置同时使用以及租户间的数据隔离 ### 1.6 文件管理系统 #### OSS 系统增强 - 重构 OSS 模块 抽离出接口层OssStrategy,可通过不同实现类实现不同的存储方式 如S3、本地文件等 - 重构 OSS 模块同时支持 S3 和本地文件上传 - 增加转换远程图片到 OSS 的接口实现 增加OSS文件的目录管理功能,支持多租户隔离 实现素材管理 - 头像存储统一修改为字符串存储链接 - 增加图片和文件前端/移动端直传功能,一键即可开启直传,支持多种云服务 ### 1.7 WebSocket 通讯模块重构 #### WebSocket 多租户与多连接支持 - **完整多租户隔离**:实现三级映射结构(tenantId -> userId -> sessionId -> WebSocketSession),确保不同租户间的连接和消息完全隔离 - **多设备多连接支持**:同一用户可在多个设备/浏览器标签页建立多个连接,避免互相挤号,所有连接独立管理 - **智能消息分发**:向用户发送消息时自动推送到用户的所有活跃连接,确保多设备同步接收 - **租户权限控制**: - 超级管理员:可查看和管理所有租户的WebSocket连接 - 租户管理员:只能查看和管理本租户的WebSocket连接 - 普通用户:只能使用自己的WebSocket连接 - **跨租户消息功能**:超级管理员可发送跨租户消息和全局广播消息 - **连接管理 API**:提供完整的WebSocket管理控制器,支持连接统计、在线用户查询、消息推送、连接断开等管理功能 - **多连接会话管理**:精确的会话生命周期管理,支持单个连接的精确移除,不影响用户的其他连接 - **多格式心跳检测**:支持简单字符串、JSON 格式等多种心跳消息格式 - **分布式消息分发**:基于 Redis 发布订阅的跨服务实例消息分发,支持租户上下文动态切换 ### 1.8 系统功能模块 #### 序列化模块增强和重构 - 重构序列化模块名称为serialmap,因为只涉及序列化,不涉及反序列化,因为不叫translation,命名上不够恰当 - 调整序列化注解为SerialMap,调整注解属性更符合规范 converter转换器 source来源 param额外参数 entityClass数据源实体类 targetField 目标映射字段 - 增加序列化注解实现FieldMapImpl,实现通用字典映射转换器,同时实现缓存,减少后续序列化实现的重复样板代码 #### 监控与日志 - monitor 监控增加通知功能 - 完善操作日志、登录日志等页面优化 - 重构日志注解的使用和类的命名 Log注解属性使用operType操作类型,指定字典DictOperType为操作类型枚举 - 抽离登录日志发布者到 log 模块为 LoginLogPublisher 实现日志发布异步保存操作 #### 代码生成增强 - 完善代码生成界面使用体验,固定 tab 页签和弹窗高度 - 实现主子表代码生成功能 - 增加并实现代码生成表字段的默认值功能 - 处理 Excel 导入更新实现和参数传递 ### 1.9 国际化系统 #### 消息国际化 - 增删改查等消息实现后端返回国际化 默认情况还是由前端处理国际化 - 通过接口常量实现管理和分类,去除 code 硬编码 - 菜单国际化后端返回时增加国际化键名计算 - 增加I18nMessageInterceptor国际化消息拦截器,简化国际化消息处理,无需花括号包围 ### 1.10 高级功能模块 #### 支付系统 - 增加 IJPay 支付模块和相关商品订单逻辑 支付回调等统一处理再根据不同支付方式进行分发 - 支付模块支持租户数据隔离和智能刷新数据 自动重试请求支付状态 #### 业务扩展 - 完成公告功能的可用性,实现精准推送和查阅 - 实现已读未读统计等功能 ### 1.11 部署与运维 #### Docker 部署 - 优化 docker-compose 相关编排名称 统一相关命名 - 在主应用添加远程调试参数,支持本地 idea 远程调试 - 完美适配 Docker容器化部署 #### 轻松开发和维护 - 全部代码注释完善,使用 Javadoc 规范 - 统一使用 Lombok 注解简化代码,减少样板代码 - 统一包管理和依赖管理规范 提供统一的包使用规范 提供业务模块供开发者直接用于开发业务逻辑 - 重构代码生成器,支持主子表生成,优化代码生成体验,接口路径、方法名、变量名等语义化且唯一,快速定位 ## 二、前端重构优化 ### 2.1 架构重构 #### 目录结构调整 - 重构为 composables 目录(组合式),lang 改为 locales - store 目录统一命名为 stores,提升语义化 layout命名为layouts directives 命名为 directives - 路由模块路由进行归类和分拆管理 - 调整前端项目结构与后端结构基本统一 #### 组件命名规范化 - 全局统一组件命名,不使用 index,提升开发体验 - 自定义组件统一使用首字母大写驼峰命名,ElementPlus 组件保持连字符 - 所有页面组件改为首字母小写的驼峰,后端菜单进行适配 #### 类型重构 - 全局统一类型命名规范,与后端保持一致 减少使用认知负担 如Bo Vo等 - 请求响应类型统一使用 `R`,减少冗余代码 ,分页类型统一使用 `R>`,减少冗余代码 ### 2.2 工具类与组合函数函数重构 #### Utils部分逻辑 重构为 Composables组合函数 发挥vue3的组合式API优势 - 移除 utils/auth.ts,封装 useToken 到 composables - 移除 utils/permission.ts,改为 composables/useAuth 组合函数 - 移除 utils/theme.ts,改为 composables/useTheme 组合函数 - 移除 utils/i18n,改为 composables/useI18n,全局使用自定义 i18n - 移除animate.ts,改为 composables/useAnimation 组合函数 - 移除dict.ts,改为 composables/useDict 组合函数 - 移除request.ts,改为 composables/useHttp 组合函数 使用http.get, http.post 等方法进行请求 - 移除sse.ts,改为 composables/useSSE 组合函数 - 移除websocket.ts,改为 composables/useWS 组合函数 - 移除i18n.ts,改为 composables/useI18n 组合函数 - 移除auth.ts,改为 composables/useToken 组合函数 - 增加useTableHeight 组合函数,优化表格高度计算 - 增加useSelection 组合函数,处理表格全选和取消全选 - 增加useDownload 组合函数,处理文件下载逻辑 #### 工具类功能增强 - 增加boolean.ts,封装布尔值相关方法 - 增加date.ts,封装日期相关方法 - 增加cache.ts,封装缓存相关方法 - 增加format.ts,封装格式化相关方法 - 增加function.ts,封装函数相关方法 如防抖、节流 拷贝等 - 增加modal.ts,封装模态框相关方法 统一调用为show开头的前缀如showMsgSuccess、showMsgError等 showConfirm、showPrompt等 - 增加object.ts,封装对象相关方法 - 增加string.ts,封装字符串相关方法 - 增加tab.ts,封装标签页导航操作相关工具函数 - 抽离树形相关方法为tree.ts,封装树形结构相关方法 - 增加class.ts,封装 DOM 操作相关方法 - 增加to.ts,封装安全异步执行工具函数集 减少try catch 的使用 - 增加validators.ts,封装表单验证相关方法 - 完善 utils/crypto.ts,进行方法扩充,jsencrypt 改名为 rsa ### 2.3 样式系统重构 #### 样式系统优化 - 为全部样式文件添加完善备注 - 重构分类简化所有样式文件 - 完善 UnoCSS 配置进行增强:颜色配置、间距变量、字体配置等 #### 布局组件重构 - 重构 Layout 页面相关组件,统一取消 index 命名 - 调整 ParentView 组件到 layout,移动 TopNav 组件到 navbar 目录 - 重新调整归类Layout层组件目录结构,调整样式控制实现 - 优化导航栏、页签效果,调整鼠标滚轮滚动效果 ### 2.4 表单与表格增强 #### 表单组件系统 - 增加各类表单组件: AFormCascader 级联选择 AFormCheckbox 复选框 AFormDate 日期选择 AFormEditor 富文本编辑器 富文本组件接入基于WangEditor AFormFileUpload 文件上传 AFormlmgUpload 图片上传 AFormlnput 输入框 AFormRadio 单选框 AFormSelect 下拉选择 AFormSwitch 开关选择 AFormTreeSelect 树形选择 #### 表格功能增强 - 移除vxetable,vxetable 组件重构为 el-table 组件,实现跨页选择功能 - 封装 useSelection 组合函数处理表格全选和取消全选 - 增加 useTableHeight 优化表格显示效果,让分页组件保持固定位置 ### 2.5 权限指令增强 #### 权限自定义指令 - 完善重构权限自定义指令,支持延迟加载组件 - 扩充指令:permi、role、admin、superadmin、permiAll、roleAll 等 - 移除全局 proxy 代理使用,进行对应代码适配转换 ### 2.6 媒体库功能 #### AOssMediaManager 组件 - 添加媒体库功能组件 AOssMediaManager 增强图片上传 - 增加替换功能,优化图片管理体验 - 增加目录管理功能,支持多租户隔离,可以对图片进行分类管理,可以对图片进行批量操作 批量移动等(移动只是修改文件对应的所在目录id) - 配合后端实现前端文件直传功能 一个属性即可配置开启 ### 2.7 iconify引入图标功能重构菜单图标 #### 图标系统重构 - 引入 iconify 图标库,支持多种图标格式 - 重构菜单图标使用 iconify 图标,实现图标库管理功能,方便进行维护和扩展 - 优化图标选择组件,支持多种图标格式和自定义图标 - 图标组件重构为Icon,支持图标名称类型提示,支持海量图标库 ### 2.8 国际化系统 #### 前端国际化 - 增强useI18n 组合函数,增强t函数,实现智能提示 - 前端实现菜单国际化,增加统一键名 - 引入 ElementPlus 国际化资源,优化字体大小选择组件 ### 2.9 性能优化 #### 实时通信 - SSE 连接增加重连退避策略,支持手动重连和状态监控 - **实现动态退避策略的 WebSocket 连接管理,支持多租户上下文和多连接场景** #### 构建优化 - 优化 Vite 配置 #### 代码优化 - 全框架取消使用 reactive 函数,统一使用 ref 函数 - 移除原生滚动,改用 el-scrollbar 滚动,优化滚动体验 - 优化重构 tree 页面模板 - 重构代码生成页面结构和实现,代码职责更加清晰 ## 三、移动端重构优化 ### 3.1 UniApp 框架重构 #### 框架改造 - 基于 unibest 框架进行重量级重构改造,移除不必要模块 - 增加应用 ID 配置管理,模仿前端实现 - 实现基础的 tabbar 页面,不使用原生 tabbar,使用自定义组件实现,可以更灵活地控制样式和功能 - 增加分包管理,可以实现管理员端和代码示例等的分包加载,优化小程序加载速度 - 插件重构,单一原则,分拆插件,提高复用性,增加静态目录插件,实现静态目录文件类型自动生成 #### 目录结构重构 - 重新调整插件目录结构,分拆插件分别维护 - 复用前端 composables 目录下的部分组合函数函数,优化移动端开发体验 - 封装 pinia 的相关模块:dict、tabbar、user 等 ### 3.2 网络请求与认证 #### HTTP 请求封装 - 封装移动端 useHttp,实现移动端 API 加密解密 - 统一请求拦截和响应处理机制 #### 小程序登录认证 - 实现微信小程序登录和公众号登录,模块化管理 - 实现 unionid/手机号关联绑定用户账号唯一性 - 用户手机实现无账户则自动注册 - 实现登录页面的自动登录开关,以及多种登录方式的支持 - 实现手机号注册和登录功能,支持验证码登录和密码登录 ### 3.3 组合式函数与工具类 #### Composables 组合函数函数 - 复用前端 useDict、useAuth 等组合函数函数 - 增加移动端 usePayment 组合函数,封装支付相关逻辑 - 增加 useScroll 组合函数,封装滚动相关逻辑 - 增加 useTheme 组合函数,封装主题相关逻辑 - **移动端 useWebSocket 组合函数,支持多租户WebSocket连接管理** #### 工具类函数增强 - 复用前端的 utils 工具类库部分功能:boolean.ts、date.ts、format.ts、function.ts、object.ts、string.ts 等 - 新增 tenant.ts,封装租户相关逻辑 - 新增 validators.ts,封装移动端表单验证相关方法 ### 3.4 组件库重构 #### WotUI 组件重构 - 重构 wot-ui 组件库所有组件,使用最新的 vue3 和 typescript 语法进行重构 - 提高代码可读性、自行维护性和可扩展性 - 重构单位统一为 rpx,移动端获得更好体验 - 增加 wd-paging 组件,实现下滑分页加载功能 - 增加wd-rich-text富文本组件,实现富文本读写 #### 图标组件系统 - 增加 wd-iconify 组件,支持 iconify 图标库 - 增加 wd-icon 组件,支持 iconify 图标库和 json 图标 - 重构了图标库近 400 个图标,包含线条图标和实心图标两大类 - 可以方便在示例代码中搜索使用 ### 3.5 小程序功能增强 #### 多平台支持 - 支持微信小程序完整功能实现 - 预留 QQ、支付宝、京东、抖音等各类小程序的扩展实现 - 统一小程序 API 调用接口 #### 示例代码系统 - 增加完善和齐全 wd 组件示例代码,可以直接看到效果 - 效果判断统一有代码查看和复制按钮,方便开发者查看和使用 - 提供丰富的组件使用示例和最佳实践 ## 四、最新版本更新 (2024年8.4-9.22) ### 4.1 后端核心升级 #### 依赖版本升级 - **Spring Boot**: 3.2.8 → 3.2.10,提升性能与安全性 - **MyBatis-Plus**: 3.5.7 → 3.5.8,优化SQL执行效率 - **Sa-Token**: 1.38.0 → 1.39.0,增强权限管理功能 - **EasyExcel**: 3.3.4 → 4.0.3,提升Excel处理性能 - **Redisson**: 3.33.0 → 3.36.0,优化分布式缓存 - **Hutool**: 5.8.29 → 5.8.31,修复Jakarta兼容性问题 #### 安全性大幅提升 - **全局XSS过滤**:默认开启XSS过滤,提高系统安全性 - **异常信息净化**:去除返回前端异常信息中的HTML标签 - **依赖漏洞修复**:修复Scala库版本漏洞,限制高风险依赖版本 - **权限验证增强**:优化登录状态判断和权限校验逻辑 #### 租户系统完善 - **租户缓存优化**:修复一级缓存key未区分租户的问题 - **租户套餐管理**:增加重名校验,优化套餐管理逻辑 - **字典同步功能**:新增同步租户字典功能,支持租户间数据同步 - **租户控制开关**:租户相关controller支持动态开关控制 ### 4.2 支付系统重大升级 #### 微信支付智能切换 - **v2/v3智能适配**:实现微信支付v2和v3版本的智能切换 - **平台证书支持**:添加平台证书路径配置,支持v3支付安全验证 - **证书路径修复**:修正keyPath配置项,确保私钥正确加载 - **订单金额计算**:支持微信支付v3回调及自动计算订单金额 #### 支付配置优化 - **表单字段优化**:优化支付配置表单字段与提示信息 - **租户隔离实现**:支付配置实现完整的租户数据隔离 - **动态配置加载**:平台配置支持启用禁用的动态加载更新 - **回调处理增强**:统一支付回调处理,支持多种支付方式 ### 4.3 移动端WD UI组件库全面升级 #### 核心组件增强 - **wd-textarea**:支持自动高度最大行数限制和固定行数显示 - **wd-button**:默认防冒泡处理,新增隐形按钮功能 - **wd-upload**:支持预览图大小配置,实现文件直传功能 - **wd-paging**:支持计算属性动态参数,新增前置后置插槽 - **wd-navbar**:支持状态栏字体颜色、标题加粗等个性化配置 #### 新增功能组件 - **wd-voice-recorder**:录音组件,支持音频录制功能 - **富文本编辑器**:增强富文本组件,支持图片视频上传 - **文件直传**:一键开启直传功能,支持阿里云、腾讯云等多平台 - **小程序更新检测**:自动检测小程序版本更新功能 #### 交互体验优化 - **wd-search**:支持圆角大小设置,提升视觉效果 - **wd-cell**:支持右侧flex值配置,灵活控制布局宽度 - **wd-action-sheet**:支持DictItem数组传递,简化字典选择 - **wd-tabbar**:默认开启底部安全区域适配,避免遮挡问题 ### 4.4 前端界面现代化升级 #### 组件系统重构 - **AModal组件**:替换el-dialog,支持响应式识别和弹窗抽屉切换 - **图标库双引擎**:同时支持iconfont和iconify图标库,无感切换使用 - **Element Plus现代化**:优化组件样式,实现现代化界面设计 - **可拖拽面板**:新增AResizablePanels组件,支持面板拖拽调整 #### 布局主题优化 - **背景色层级系统**:引入多层级背景色系统,优化视觉层次 - **悬停效果统一**:统一导航栏工具项悬停样式,提升交互一致性 - **侧边栏优化**:调整Logo组件对齐方式,优化边框和阴影效果 - **打印功能**:新增系统打印功能,支持页面内容打印 ### 4.5 代码生成器智能化 #### 模板生成优化 - **实体类路径调整**:entity包调整到domain包,符合DDD设计理念 - **分组验证支持**:添加分组验证和OSS翻译自动适配 - **查看逻辑生成**:自动生成ADetailDialog组件和查看功能 - **主子表增强**:完善主子表代码生成,支持复杂业务场景 #### 开发体验提升 - **Vue目录统一**:生成目录改为src,可直接复制到前端项目 - **权限注解生成**:默认生成权限控制注解,打开注释即可启用 - **Excel处理**:优化Excel导入导出代码生成逻辑 ### 4.6 媒体库系统 #### 图片处理引擎 - **多图合成GIF**:支持多张图片合成动态GIF图像 - **复杂海报生成**:提供强大的海报设计和生成功能 - **二维码生成**:内置二维码生成工具,支持自定义样式 - **字体颜色工具**:丰富的字体和颜色处理工具类 #### 文件管理增强 - **目录管理**:支持文件目录分类管理,提升文件组织能力 - **租户隔离**:完整的多租户文件隔离机制 - **直传功能**:前端/移动端文件直传,减少服务器压力 ### 4.7 数据库结构优化 #### 表结构调整 - **部门区划码**:部门表增加area_code字段,支持省市区区划 - **表名规范化**:products→product,orders→order,避免复数命名 - **商品字段增强**:新增商品编码、原价、折扣等字段 - **订单状态字典**:完善订单状态枚举,包含支付、发货、完成等 #### SQL文件管理 - **分类存储**:数据库脚本分为sys、job、app三个部分 - **新增表脚本**:每种数据库提供new.sql用于新业务表管理 ### 4.9 国际化系统增强 #### 多语言支持 - **移动端国际化重构**:支持英语、阿拉伯语、德语等多种语言 - **语言选择器**:新增自定义语言选择器组件 - **动态语言切换**:支持语言缓存和动态加载 - **HTTP请求适配**:自动在请求头中添加当前语言信息 ### 4.10 部署运维优化 #### 容器化部署增强 - **环境变量占位符**:支持${变量名:默认值}语法,避免敏感信息硬编码 - **远程调试支持**:Docker容器支持本地IDE远程调试 - **编排优化**:优化docker-compose配置,简化部署流程 - **文件上传路径**:Docker构建增加文件上传路径配置 #### 开发体验提升 - **Claude Code集成**:提供AI辅助开发的智能上下文支持 - **ESLint优化**:完善代码规范检查,提升代码质量 - **文档完善**:更新开发指南和使用文档 --- ## 五、架构重构与AI集成 (2024年10月) ### 5.1 四层架构重构 🏗️ #### Controller-Service-DAO-Mapper分层重构 - **Service层解耦**:移除对 `IBaseService` 和 `BaseServiceImpl` 的继承,Service层更加轻量和灵活 - **DAO层重构**:新增独立 DAO 层,负责查询条件构建和数据访问 - DAO接口继承 `IBaseDao`,提供统一的数据访问接口 - DAO实现继承 `BaseDaoImpl`,封装常用数据操作 - **Mapper层规范**:Mapper仅继承 `BaseMapper`,专注SQL执行 - **职责明确分离**: - **Controller层**:参数验证、响应包装 - **Service层**:业务逻辑处理、类型转换(Entity ↔ Bo/Vo) - **DAO层**:查询条件构建、数据访问 - **Mapper层**:纯SQL执行 #### 数据类型规范化 - **Entity类型统一**:DAO层和Mapper层只返回Entity类型,不允许返回Vo/Bo - **类型转换规范**:Service层使用 `MapstructUtils.convert()` 进行类型转换 - **分页转换优化**:使用 `PageResult.convert(Class)` 简单转换,`PageResult.map(Function)` 处理复杂业务逻辑 #### 查询条件构建 - **buildQueryWrapper方法**:所有查询条件统一在DAO层通过 `buildQueryWrapper(Bo)` 构建 - **PlusLambdaQuery增强**:自动处理null值,无需手动判空 - **PlusQuery支持**:支持表别名和字符串列名,适用复杂联表查询 ### 5.2 LangChain4j AI集成 🤖 #### AI能力引入 - **LangChain4j框架集成**:引入企业级LLM应用开发框架 - **多模型支持**:统一接口支持OpenAI、Azure OpenAI、通义千问等主流大模型 - **AI配置模块**:独立的langchain4j配置模块,支持动态配置和热更新 - **环境变量配置**:支持通过环境变量配置API密钥,避免敏感信息硬编码 - **功能开关控制**:提供 `LANGCHAIN4J_ENABLED` 开关,可动态启用/禁用AI功能 #### AI聊天功能实现 - **AI聊天接口**:实现完整的AI聊天REST API和流式聊天接口 - **会话管理**:支持创建会话、清除会话、获取会话历史等功能 - **WebSocket集成**:通过WebSocket实现AI聊天实时消息推送 - **统一返回格式**:所有AI接口返回 `R` 格式,保持接口一致性 - **前端组件**:新增 `AAiChat` 组件,提供完整的AI聊天界面和交互体验 - **动态显示**:根据后端功能配置动态显示/隐藏AI聊天入口 #### AI应用场景 - **智能对话**:基于上下文的智能问答系统 - **文本生成**:内容创作、摘要生成、文本改写等 - **语义理解**:意图识别、情感分析、关键信息提取 - **代码辅助**:代码生成、代码审查、bug分析建议 #### AI工具链 - **Prompt模板管理**:结构化Prompt模板管理,支持变量替换 - **Memory管理**:会话记忆和上下文管理,实现连贯对话 - **Tool调用**:AI Agent支持调用外部工具和API - **RAG支持**:检索增强生成,结合知识库提升回答准确性 - **向量模型优化**:移除本地向量模型依赖,减少包体积,支持按需启用 ### 5.3 开发规范文档完善 📚 #### Claude Code智能提示 - **CLAUDE.md重构**:新增四层架构详细说明和最佳实践 - **工具类优先原则**:强调优先使用项目现有工具类,避免重复造轮子 - **46+工具类目录**:详细列出后端25+、前端11、移动端11个常用工具类 - **代码模板扩充**:提供完整的6层代码模板(Controller、Service、DAO、Mapper、Bo、Vo) #### AGENTS.md同步更新 - **多AI助手支持**:适配Claude Code、GitHub Copilot、Cursor、Windsurf、Codeium等 - **统一规范说明**:各AI助手共享相同的架构规范和开发指南 - **错误示例对比**:提供正确与错误的代码对比,帮助理解最佳实践 #### 架构规范文档 - **四层架构指南**:详细说明各层职责、调用关系和数据流转 - **常见场景速查**:提供分页查询、树形数据、复杂查询等常见场景的标准实现 - **工具类使用指南**:每个工具类的详细用法和使用场景说明 ### 5.4 测试体系完善 🧪 #### 集成测试全覆盖 - **系统模块测试**:完善用户、角色、菜单、部门、字典等核心模块的集成测试 - **业务模块测试**:新增AI聊天、首页、统计、系统功能配置等业务接口测试 - **监控模块测试**:添加缓存监控、登录日志、操作日志、通知公告等监控接口测试 - **租户模块测试**:完善租户管理相关接口的集成测试覆盖 #### 测试基础设施 - **Forest HTTP客户端集成**:使用Forest进行HTTP接口测试,简化测试代码 - **动态端口支持**:支持Spring Boot随机端口测试,提升测试灵活性 - **测试数据清理**:提供测试数据清理脚本,确保测试环境干净 - **工具类单元测试**:新增StringUtils、DateUtils等核心工具类的单元测试 #### 测试覆盖率提升 - **核心模块P0接口**:核心功能接口测试覆盖率提升约42% - **CRUD完整性测试**:确保所有增删改查接口的完整测试覆盖 - **边界条件测试**:添加参数校验、权限校验等边界条件测试用例 ### 5.5 代码生成器优化 ⚙️ #### 生成规范调整 - **实体类路径优化**:entity包调整到domain包,符合DDD领域驱动设计 - **DAO接口命名规范**:统一DAO接口命名为 `I{Entity}Dao` 格式 - **查看功能生成**:自动生成 `ADetail` 组件和查看详情功能 - **权限注解生成**:默认生成 `@SaCheckPermission` 权限控制注解 #### 代码模板增强 - **OSS翻译适配**:自动生成OSS字段的序列化映射配置 - **Vue目录统一**:生成目录改为src,可直接复制到前端项目 - **主子表完善**:增强主子表代码生成,支持复杂业务场景 ### 5.6 前端组件系统升级 🎨 #### 新增核心组件 - **AModal组件**:替换el-dialog,支持响应式识别,实现弹窗/抽屉自动切换 - **ADetail组件**:通用详情展示组件,支持分组显示和自定义插槽 - **AFormEditor组件**:富文本编辑器组件,基于WangEditor实现 - **AResizablePanels组件**:可拖拽调整大小的面板组件 - **AImportExcel组件**:优化导入Excel功能,支持模板下载和子表导入 #### 组件功能优化 - **图标系统双引擎**:同时支持iconfont和iconify图标库,无感切换 - **密码字段支持**:ADetail组件支持密码类型字段的安全显示 - **富文本字段支持**:ADetail组件支持富文本类型字段的渲染 - **行数控制**:新增lines1/lines2/lines3属性,灵活控制长文本显示 #### 路由与权限重构 - **路由模块化**:路由配置拆分为常量路由和动态路由(系统、工作流、工具) - **路由守卫重构**:permission.ts重构为guard.ts,放置于router目录下 - **权限指令优化**:支持延迟加载组件,扩充permi、role、admin等权限指令 - **动态菜单优化**:菜单加载和权限验证逻辑优化 ### 5.7 依赖版本升级 📦 #### 后端依赖升级 - **Spring Boot**: 3.3.5 → 3.4.1,性能和安全性提升 - **MyBatis-Plus**: 3.5.9 → 3.5.11,SQL执行效率优化 - **Hutool**: 5.8.31 → 5.8.35,工具类功能增强 - **Redisson**: 3.39.0 → 3.43.0,分布式缓存优化 - **SnailJob**: 1.2.0 → 1.4.0,定时任务调度增强 - **WarmFlow**: 升级至 1.6.6 正式版,工作流功能完善 #### 前端依赖优化 - **移除await-to-js**:使用项目自定义的 `to.ts` 工具类替代 - **移除vxe-table**:统一使用el-table,减少依赖体积 - **富文本编辑器**:新增WangEditor依赖,提供强大的编辑能力 --- 每个端的重构都遵循模块化、标准化的原则,确保代码质量和可维护性。最新版本的更新重点关注**架构分层清晰化**、**AI能力集成**、**测试体系完善**、**代码生成优化**、**组件系统升级**和**智能化开发体验提升**,为企业级应用提供更强大的技术支撑和更高效的开发体验。