/ruoyi-vue-pro

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

Primary LanguageJavaMIT LicenseMIT

平台简介

芋道,一套全部开源企业级的快速开发平台,毫无保留给个人及企业免费使用。

有任何问题,或者想要的功能,可以在 Issues 中提给艿艿。

  • 前端采用 vue-element-admin ,正在支持 Vue 3 + ElementUI Plus 最新方案。
  • 后端采用 Spring Boot、MySQL + MyBatis Plus、Redis + Redisson。
  • 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统。
  • 支持加载动态权限菜单,按钮级别权限控制,本地缓存提升性能。
  • 工作流使用 Activiti ,支持动态表单、在线设计流程、多种任务分配方式。
  • 高效率开发,使用代码生成器可以一键生成前后端代码 + 单元测试 + Swagger 接口文档 + Validator 参数校验。
  • 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款。
  • 集成阿里云、腾讯云、云片等短信渠道,集成阿里云、腾讯云、七牛云等云存储服务。

在线体验

演示地址:http://dashboard.yudao.iocoder.cn

  • 账号密码:admin/admin123

文档地址:http://www.iocoder.cn/categories/Yudao/

未来会补充文档和视频,方便胖友冲冲冲!

内置功能

分成多种内置功能:

  • 系统功能
  • 工作流程
  • 支付系统
  • 商城系统
  • 基础设施
  • 研发工具

友情提示:本项目基于 RuoYi-Vue 修改,重构优化后端的代码,美化前端的界面。

  • 额外新增的功能,我们使用 🚀 标记。
  • 重新实现的功能,我们使用 ⭐️ 标记。

🙂 所有功能,都通过 单元测试 保证高质量。

系统功能

功能 描述
用户管理 用户是系统操作者,该功能主要完成系统用户配置
⭐️ 在线用户 当前系统中活跃用户状态监控,支持手动踢下线
角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分
菜单管理 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能
部门管理 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限
岗位管理 配置系统用户所属担任职务
🚀 租户管理 配置系统租户,支持 SaaS 场景下的多租户功能
字典管理 对系统中经常使用的一些较为固定的数据进行维护
🚀 短信管理 短信渠道、短息模板、短信日志,对接阿里云、云片等主流短信平台
🚀 操作日志 系统正常操作日志记录和查询,集成 Swagger 生成日志内容
⭐️ 登录日志 系统登录日志记录查询,包含登录异常
🚀 错误码管理 系统所有错误码的管理,可在线修改错误提示,无需重启服务
通知公告 系统通知公告信息发布维护

工作流程

功能 描述
🚀 流程模型 配置工作流的流程模型,支持文件导入与在线设计流程图,提供 7 种任务分配规则
🚀 流程表单 拖动表单元素生成相应的工作流表单,覆盖 Element UI 所有的表单组件
🚀 用户分组 自定义用户分组,可用于工作流的审批分组
🚀 我的流程 查看我发起的工作流程,支持新建、取消流程等操作,高亮流程图、审批时间线
🚀 待办任务 查看自己【未】审批的工作任务,支持通过、不通过、转发、委派、退回等操作
🚀 已办任务 查看自己【已】审批的工作任务,未来会支持回退操作
🚀 OA 请假 作为业务自定义接入工作流的使用示例,只需创建请求对应的工作流程,即可进行审批

支付系统

功能 描述
🚀 商户信息 管理商户信息,支持 Saas 场景下的多商户功能
🚀 应用信息 配置商户的应用信息,对接支付宝、微信等多个支付渠道
🚀 支付订单 查看用户发起的支付宝、微信等的【支付】订单
🚀 退款订单 查看用户发起的支付宝、微信等的【退款】订单

ps:核心功能已经实现,正在对接微信小程序中...

商城系统

正在开发中,大体计划如下:

基础设施

功能 描述
🚀 配置管理 对系统动态配置常用参数,支持 SpringBoot 加载
⭐️ 定时任务 在线(添加、修改、删除)任务调度包含执行结果日志
🚀 文件服务 支持本地文件存储,同时支持兼容 Amazon S3 协议的云服务、开源组件
🚀 API 日志 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题
MySQL 监控 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈
Redis 监控 监控 Redis 数据库的使用情况,使用的 Redis Key 管理
🚀 消息队列 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费
🚀 Java 监控 基于 Spring Boot Admin 实现 Java 应用的监控
🚀 链路追踪 接入 SkyWalking 组件,实现链路追踪
🚀 日志中心 接入 SkyWalking 组件,实现日志中心
🚀 分布式锁 基于 Redis 实现分布式锁,满足并发场景
🚀 幂等组件 基于 Redis 实现幂等组件,解决重复请求问题
🚀 服务保障 基于 Resilience4j 实现服务的稳定性,包括限流、熔断等功能
🚀 日志服务 轻量级日志中心,查看远程服务器的日志
🚀 单元测试 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等

研发工具

功能 描述
🚀 代码生成 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载
🚀 系统接口 基于 Swagger 自动生成相关的 RESTful API 接口文档
🚀 数据库文档 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式
表单构建 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件

技术栈

项目 说明
yudao-dependencies Maven 依赖版本管理
yudao-framework Java 框架拓展
yudao-admin-server 管理后台的服务端
yudao-admin-ui 管理后台的 UI 界面
yudao-user-server 用户前台的服务端
yudao-user-ui 用户前台的 UI 界面
yudao-core-service 公共服务,提供共享逻辑

友情提示:yudao-admin-serveryudao-user-server 会存在需要复用的逻辑,通过 yudao-core-service 实现。

后端

框架 说明 版本 学习指南
Spring Boot 应用开发框架 2.4.12 文档
MySQL 数据库服务器 5.7
Druid JDBC 连接池、监控组件 1.2.8 文档
MyBatis Plus MyBatis 增强工具包 3.4.3.4 文档
Dynamic Datasource 动态数据源 3.5.0 文档
Redis key-value 数据库 5.0
Redisson Redis 客户端 3.16.6 文档
Spring MVC MVC 框架 5.3.13 文档
Spring Security Spring 安全框架 5.4.9 文档
Hibernate Validator 参数校验组件 6.1.7 文档
Activiti 工作流引擎 7.1.0.M6 文档
Quartz 任务调度组件 2.3.2 文档
Knife4j Swagger 增强 UI 实现 3.0.2 文档
Resilience4j 服务保障组件 1.7.0 文档
SkyWalking 分布式应用追踪系统 8.5.0 文档
Spring Boot Admin Spring Boot 监控平台 2.4.2 文档
Jackson JSON 工具库 2.11.4
MapStruct Java Bean 转换 1.4.1 文档
Lombok 消除冗长的 Java 代码 1.16.14 文档
JUnit Java 单元测试框架 5.7.1 -
Mockito Java Mock 框架 3.6.28 -

前端

框架 说明 版本
Vue JavaScript 框架 2.6.12
Vue Element Admin 后台前端解决方案 -

演示图

系统功能

模块 biu biu biu
登录 & 首页 登录 首页 个人中心
用户 & 租户 用户管理 在线用户 用户管理
部门 & 岗位 部门管理 岗位管理 -
菜单 & 角色 菜单管理 角色管理 -
审计日志 操作日志 登录日志 -
短信 短信渠道 短信模板 短信日志
字典 字典类型 字典数据 -
错误码 & 通知 错误码管理 通知公告 -

工作流程

模块 biu biu biu
流程模型 流程模型-列表 流程模型-设计 流程模型-定义
表单 & 分组 流程表单 用户分组 -
我的流程 我的流程-列表 我的流程-发起 我的流程-详情
待办 & 已办 任务列表-审批 任务列表-待办 任务列表-已办
OA 请假 OA请假-列表 OA请假-发起 OA请假-详情

支付系统

模块 biu biu biu
商家 & 应用 商户信息 应用信息-列表 应用信息-编辑
支付 & 退款 支付订单 退款订单 ---

基础设施

模块 biu biu biu
文件 & 配置 文件管理 配置管理 -
定时任务 定时任务 任务日志 -
API 日志 访问日志 错误日志 -
MySQL & Redis MySQL Redis -
监控平台 Java监控 链路追踪 日志中心

研发工具

模块 biu biu biu
代码生成 代码生成 生成效果 -
文档 系统接口 数据库文档 -