后端项目简介
Ruoyi-Plus-Uniapp 后端是基于Ruoyi-Vue-Plus5.X进行深度重构,提供了查询增强组件、统一响应封装、完善的多租户 SaaS 支持、权限安全管理、小程序集成(微信、QQ、支付宝等)、公众号集成、OSS 文件管理与直传、IJPay 支付集成、主子表代码生成、国际化增强支持、数据库规范化、序列化增强等企业级功能,采用统一命名规范和完善注释减少样板代码,支持 Docker 容器化部署和远程调试,注重开发体验和代码可维护性。
业务功能
功能模块 | 功能介绍 |
---|---|
租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能,可以配置租户套餐 限制人数 使用时间等 |
用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 |
部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 |
岗位管理 | 配置系统用户所属担任职务 |
菜单管理 | 配置系统菜单,操作权限,按钮权限标识等 |
角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 |
字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 |
参数管理 | 对系统动态配置常用参数 |
通知公告 | 系统通知公告信息发布维护 实现精准对不同用户发布通知 |
操作日志 | 系统正常操作日志记录和查询;系统异常信息日志记录和查询 |
登录日志 | 系统登录日志记录查询包含登录异常 |
文件管理 | 系统文件目录管理 上传、下载等管理以及上传配置 |
任务调度 | 在线(添加、修改、删除)任务调度包含执行结果日志 |
代码生成 | 前后端代码的生成(java、html、xml、sql)支持单表CRUD/主子表 |
系统接口 | 根据业务代码自动生成相关的api接口文档 |
服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 |
缓存监控 | 对系统的缓存信息查询,命令统计等 |
商品管理 | 实现基础的商品管理功能 |
订单管理 | 实现基础的订单管理 实现基础的支付功能以及统一支付 退款 回调等处理 |
账号绑定 | 实现移动端用户的绑定功能 |
平台配置 | 实现移动端平台的配置管理 支持租户配置隔离 |
支付配置 | 实现支付配置管理 支持租户配置隔离 |
广告配置 | 广告配置可实现多种增强效果,小程序跳转,小程序流量主广告,移动端不同页面轮播图等 |
RuoYi 系列框架完整对比表
基础信息对比
对比项 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
维护组织 | 若依官方 | Dromara 开源组织 | 抓蛙师/若依工作室 |
项目定位 | 经典快速开发框架 | 多租户权限管理系统 | 全栈统一开发平台 |
核心理念 | 快速开发 | 多租户+现代化 | 代码即文档+全栈统一+开发友好 |
兼容性 | 基于原版扩展 | 重写不兼容原框架 | 基于Plus深度重构 |
开源协议 | MIT | MIT | 闭源 需要授权 |
架构特色 | 单体架构 | 集群/微服务可选 | 全栈统一架构(集群) |
更新频率 | 较少更新 | 稳定更新 | 持续优化更新 |
技术栈对比
技术栈 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
后端 | Spring Boot + Spring Security | Spring Boot + Sa-Token | Spring Boot + Sa-Token |
Spring Boot | 2.7.x | 3.2.x | 3.2.x |
Java | JDK 8+ | JDK 17+ | JDK 21+ |
ORM | MyBatis | MyBatis-Plus | MyBatis-Plus增强 |
缓存 | Redis | Redis + Redisson | Redis + Redisson |
前端 | Vue 2 + Element UI | Vue 3 + Element Plus | Vue 3 + Element Plus重构 |
移动端 | 无 | 无 | UniApp深度重构(基于unibest) |
工作流 | 无 | WarmFlow | 两个分支 主分支移除工作流,工作流WarmFlow由另外分支维护 |
文档 | Swagger | SpringDoc + apifox | SpringDoc + apifox |
认证 | JWT | Sa-Token | Sa-Token |
数据库 | MySQL | MySQL/PostgreSQL/Oracle/达梦 | MySQL/PostgreSQL/Oracle/达梦 |
核心架构重构对比
后端架构重构
重构项目 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
基础架构 | 传统架构 | 现代化架构 | ✅ 面向未来的现代化架构 |
查询增强 | MyBatis | MyBatis-Plus | ✅ PlusQuery+PlusLambdaQuery聚合查询 IBaseService接口+BaseServiceImpl减少样板代码 |
响应封装 | TableDataInfo | PageResult | ✅ R<PageResult<T>> 统一响应 |
应用隔离 | 无 | 无 | ✅ 项目唯一标识符 应用ID隔离 |
字典系统 | 基础字典 | 基础字典 | ✅增强字典 Dict开头枚举+1是0否统一规范 |
租户系统 | 无 | 基础多租户 | ✅ 兜底租户ID+OSS目录租户隔离 |
前端架构重构
重构项目 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
目录结构 | Vue2规范 | Vue3规范 | ✅ composables+layouts+stores统一 |
组件命名 | 传统命名 | 现代命名 | ✅ 首字母大写驼峰+语义化 |
类型系统 | 基础类型 | TypeScript | ✅ R<T> +PageResult<T> 统一类型 |
工具重构 | utils工具类 | 部分重构 | ✅ 完全重构为Composables组合函数 |
样式系统 | 传统样式 | UnoCSS 现代样式 | ✅ UnoCSS配置增强+完善备注 |
图标系统 | 基础图标/svg | 丰富图标/svg | ✅ Iconify图标库+400+图标重构 |
核心功能对比
基础功能模块
功能模块 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
用户管理 | 基础功能 | 基础功能 | ✅ 基础功能+移动端用户绑定 |
角色管理 | 基础权限 | 基础权限 | ✅ 基础权限+租户角色同步功能 |
菜单管理 | 树形菜单 | 树形菜单 | ✅ 树形菜单+国际化菜单+国际化键自动生成 |
部门管理 | 树形结构 | 多租户部门 | ✅ 多租户部门 |
字典管理 | 基础字典 | 多租户字典 | ✅ 多租户字典+Dict枚举+通用转换器 |
通知公告 | 基础通知 | 基础通知+在线推送 | ✅ 精准推送/离线留存+已读未读统计 |
高级功能模块
功能模块 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
多租户 | ❌ 不支持 | ✅ 完整支持 | ✅ SaaS多租户+数据隔离增强 |
数据权限 | ✅ 基础支持 | ✅ 增强支持 | ✅ 增强支持 |
代码生成 | ✅ 基础生成 | ✅ 基础生成 | ✅ 主子表+默认值+权限生成 |
文件存储 | ✅ 本地存储 | ✅ OSS多云存储 | ✅ OSS策略模式+S3+本地+前端直传 |
支付功能 | ❌ 无 | ✅ ❌ 无 | ✅ IJPay+租户隔离+自动重试 |
短信服务 | ❌ 无 | ✅ 多厂商支持 | ✅ 多厂商支持 |
小程序支持 | ❌ 无 | ❌ 无 | ✅ 微信+QQ+支付宝+抖音全平台 |
序列化增强 | ❌ 无 | 基础转换+手动逐个实现 | ✅ SerialMap注解+字段映射 |
移动端功能对比
移动端功能 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
H5支持 | ❌ 无 | ❌ 无 | ✅ 响应式增强 |
小程序 | ❌ 无 | ❌ 无 | ✅ 微信+QQ+支付宝+京东+抖音 |
APP | ❌ 无 | ❌ 无 | ✅ UniApp深度重构(基于unibest) |
组件库 | ❌ 无 | ❌ 无 | ✅ WotUI完全重构+380+图标 |
登录认证 | ❌ 无 | ❌ 无 | ✅ 多平台登录+unionid绑定+自动注册 |
支付集成 | ❌ 无 | ❌ 无 | ✅ usePayment组合函数+完整支付流程 |
示例代码 | ❌ 无 | ❌ 无 | ✅ 完整组件示例+代码查看复制 |
开发体验对比
代码质量与规范
开发特性 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
代码注释 | 基础注释 | 基础注释 | ✅ 完整Javadoc规范+代码即文档 |
命名规范 | 基础规范 | 改进规范 | ✅ 全栈统一命名+语义化+唯一性 |
类型安全 | 基础类型 | TypeScript | ✅ 全栈类型统一+智能提示 |
样板代码 | 较多重复 | 部分优化 | ✅ 极致减少样板代码+泛型适配 |
开发友好 | 基础友好 | 较友好 | ✅ 开发体验优先+可维护性强 |
工具与组合函数函数
工具类型 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
工具函数 | utils工具类 | 增强工具类 | ✅ Composables组合函数重构+utils增强工具类 |
请求封装 | axios封装 | 增强封装+加密解密 | ✅ useHttp组合函数+加密解密 |
权限控制 | 基础权限 | 增强权限 | ✅ useAuth组合函数+延迟加载组件 |
主题切换 | 基础主题 | 主题支持 | ✅ useTheme组合函数 |
国际化 | 基础i18n | 增强i18n | ✅ useI18n组合函数+智能提示+后端国际化 |
表格增强 | 基础表格 | el-table+vxetable | ✅ el-table+useSelection+useTableHeight |
文件下载 | 基础下载 | 基础下载 | ✅ useDownload组合函数 |
动画效果 | 基础动画 | CSS动画 | ✅ useAnimation组合函数 |
组件系统对比
前端组件
组件类型 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
表单组件 | Element UI | Element Plus | ✅ A系列表单组件全套重构 |
上传组件 | 基础上传 | 基础上传 | ✅ AFormFileUpload+AFormImgUpload +素材管理+前端直传 |
编辑器 | Quill | Quill | ✅ AFormEditor(基于tiptap的umo)增强富文本 |
媒体库 | ❌ 无 | 基础文件管理 | ✅ AOssMediaManager+目录管理+批量操作 |
权限指令 | 基础指令 | 基础指令 | ✅ permi+role+admin等完整增强指令 |
图标组件 | 基础图标 | 基础图标 + iconify图标库 | ✅ Icon组件+类型提示+iconify海量图标库 |
移动端组件
组件类型 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
UI组件库 | ❌ 无 | ❌ 无 | ✅ WotUI完全重构+Vue3+TypeScript |
图标组件 | ❌ 无 | ❌ 无 | ✅ wd-iconify+wd-icon+400+图标 |
分页组件 | ❌ 无 | ❌ 无 | ✅ wd-paging下滑分页加载 |
tabbar组件 | ❌ 无 | ❌ 无 | ✅ 自定义tabbar组件+灵活控制 |
国际化系统对比
国际化功能 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
前端国际化 | 基础支持 | 增强支持 | ✅ useI18n组合函数+智能提示+菜单国际化+按钮+消息国际化 |
后端国际化 | ❌ 无 | 基础支持 | ✅ I18nMessageInterceptor+接口常量管理 |
消息国际化 | 前端处理 | 前端处理 | ✅ 后端返回国际化+前端兜底 |
键名管理 | 硬编码 | 部分优化 | ✅ 统一键名计算+去除硬编码 |
部署运维对比
运维特性 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
Docker支持 | 基础 | ✅ 完善配置 | ✅ 优化编排+远程调试 |
容器化部署 | 基础支持 | 完善支持 | ✅ 完美适配Docker容器化 |
监控告警 | 基础监控 | monitorAdmin | ✅ monitorAdmin通知功能增强 |
学习使用对比
对比维度 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
学习难度 | ⭐⭐⭐ 简单 | ⭐⭐⭐⭐ 中等 | ⭐⭐⭐ 简单 |
文档完整度 | ⭐⭐⭐⭐ 比较完整 | ⭐⭐⭐⭐ 比较完整 | ⭐⭐⭐⭐ 文档完善中+代码即文档 |
代码可读性 | ⭐⭐⭐ 一般 | ⭐⭐⭐⭐ 较好 | ⭐⭐⭐⭐⭐ 极佳 |
上手速度 | ⭐⭐⭐⭐ 很快 | ⭐⭐⭐⭐ 一般 | ⭐⭐⭐⭐⭐ 极快 |
二次开发 | ⭐⭐⭐⭐⭐ 容易 | ⭐⭐⭐⭐ 中等 | ⭐⭐⭐⭐⭐ 非常友好 |
维护性 | ⭐⭐⭐ 一般 | ⭐⭐⭐⭐ 较好 | ⭐⭐⭐⭐⭐ 极佳 |
性能与扩展性对比
性能指标 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
后端性能 | 一般 | 较好 | 较强 |
前端性能 | Vue2性能 | Vue3性能 | Vue3性能+Vite优化 |
移动端性能 | ❌ 无 | ❌ 无 | ✅ 分包加载+优化渲染 |
缓存策略 | Redis单机 | Redis集群+本地缓存 | Redis集群+本地缓存 |
查询优化 | MyBatis | MyBatis-Plus | PlusQuery聚合查询优化 |
实时通信 | ❌ 无 | WebSocket/SSE | ✅ WebSocket/SSE 重连退避+状态监控 |
安全特性对比
安全功能 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
身份认证 | JWT | Sa-Token | Sa-Token增强 |
数据加密 | ❌ 无 | 前后端加密 | 前后端加密+移动端加密 |
数据脱敏 | ❌ 无 | ✅ 完整支持 | ✅ 完整支持 |
租户隔离 | ❌ 无 | 租户隔离 | 完整租户隔离+OSS隔离 |
权限控制 | RBAC | RBAC+细粒度 | RBAC+权限指令增强 |
许可证与生态对比
项目 | RuoYi-Vue | RuoYi-Vue-Plus | ⚡ RuoYi-Plus-UniApp |
---|---|---|---|
开源许可 | Apache 2.0 | MIT | 闭源需要授权 |
商业使用 | 完全免费 | 完全免费 | 授权后可商用 |
技术支持 | 社区免费+付费课程 | 社区+付费课程 | 专业技术支持 |
定制开发 | 第三方服务 | 第三方+官方 | 官方定制服务 |
源码获取 | 完全开源 | 完全开源 | 授权后提供 |
商业授权 | 不需要 | 不需要 | 授权后可交付客户源码 |
适用场景建议
🎯 RuoYi-Vue 适用场景
场景类型 | 推荐理由 |
---|---|
新手学习项目 | 文档详细完整、学习成本低 |
简单管理系统 | 功能完整、维护稳定、不易扩展 |
传统项目维护 | 技术栈稳定、兼容性好、很少更新 |
🚀 RuoYi-Vue-Plus 适用场景
场景类型 | 推荐理由 |
---|---|
多租户SaaS平台 | 多租户完善、权限隔离、数据隔离 |
现代化企业应用 | Vue3+Spring Boot3、技术先进、性能优秀 |
中大型项目 | 功能丰富、架构清晰、扩展性强 |
微服务架构 | 支持分布式、云原生、容器化 |
🌟 RuoYi-Plus-UniApp 适用场景
场景类型 | 推荐理由 |
---|---|
全栈统一开发 | 前后端移动端统一技术栈、开发效率高 |
多端业务平台 | Web+小程序+APP一体化解决方案 |
高质量代码要求 | 代码即文档、极致减少样板代码、可维护性极强 |
快速迭代项目 | 组合式API、组件化开发、开发体验优秀 |
SaaS多租户平台 | 完整租户隔离、多平台小程序、支付集成 |
企业级商业项目 | 专业技术支持、定制开发服务、商业授权保障 |
对安全性要求高的项目 | 闭源保护、授权控制、专业维护 |
💡 总结与选择建议
技术发展趋势
- RuoYi-Vue: 稳定成熟的经典方案
- RuoYi-Vue-Plus: 现代化的技术升级
- RuoYi-Plus-UniApp: 面向未来的全栈统一方案
选择决策因子
按预算和授权选择
- 预算有限: RuoYi-Vue-Plus(完全免费开源)
- 商业项目: RuoYi-Plus-UniApp(专业授权+技术支持)
按开源需求选择
- 需要开源: RuoYi-Vue 或 RuoYi-Vue-Plus
- 商业保护: RuoYi-Plus-UniApp(闭源授权)
- 定制需求: RuoYi-Plus-UniApp(官方定制服务)
- 只需Web端: RuoYi-Vue 或 RuoYi-Vue-Plus 或 RuoYi-Plus-UniApp
- 需要移动端: RuoYi-Plus-UniApp
- 多租户需求: RuoYi-Vue-Plus 或 RuoYi-Plus-UniApp
- 全平台覆盖: RuoYi-Plus-UniApp
按项目需求选择
- 传统开发团队: RuoYi-Vue
- 现代化团队: RuoYi-Vue-Plus
- 全栈团队: RuoYi-Plus-UniApp
按开发体验选择
- 快速上手: RuoYi-Vue
- 现代开发: RuoYi-Vue-Plus
- 极致体验: RuoYi-Plus-UniApp
RuoYi-Plus-UniApp 在保持 RuoYi-Vue-Plus 所有优势的基础上,通过深度重构实现了"代码即文档、全栈统一、开发友好" 的核心理念,是面向未来的全栈统一开发平台。**作为闭源商业框架,提供专业的技术支持和定制服务,适合对代码安全性和技术支持有高要求的商业项目。 **