Skip to content

ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城、CRM、ERP、AI 大模型、IoT 物联网等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

License

Notifications You must be signed in to change notification settings

goodstudio/yudao-cloud

Repository files navigation

Coverage StatusDownloadsDownloadsDownloads

严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!

「我喜欢写代码,乐此不疲」
「我喜欢做开源,以此为乐」

我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。

如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。

可参考 《迁移文档》 ,只需要 5-10 分钟,即可将【完整版】按需迁移到【精简版】

🐶 新手必读

🐰 版本说明

版本JDK 8 + Spring Boot 2.7JDK 17/21 + Spring Boot 3.2
【完整版】yudao-cloudmaster 分支master-jdk17 分支
【精简版】yudao-cloud-minimaster 分支master-jdk17 分支
  • 【完整版】:包括系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP 等功能
  • 【精简版】:只包括系统功能、基础设施功能,不包括会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP 等功能

可参考 《迁移文档》 ,只需要 5-10 分钟,即可将【完整版】按需迁移到【精简版】

🐯 平台简介

芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。

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

😜 给项目点点 Star 吧,这对我们真的很重要!

架构图

  • Java 后端:master 分支为 JDK 8 + Spring Boot 2.7,master-jdk17 分支为 JDK 17/21 + Spring Boot 3.2
  • 管理后台的电脑端:Vue3 提供 element-plusvben(ant-design-vue) 两个版本,Vue2 提供 element-ui 版本
  • 管理后台的移动端:采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!
  • 后端采用 Spring Cloud Alibaba 微服务架构,注册中心 + 配置中心 Nacos,定时任务 XXL-Job,服务保障 Sentinel,服务网关 Gateway,分布式事务 Seata
  • 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等,基于 MyBatis Plus、Redis + Redisson 操作
  • 消息队列可使用 Event、Redis、RabbitMQ、Kafka、RocketMQ 等
  • 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO 单点登录
  • 支持加载动态权限菜单,按钮级别权限控制,Redis 缓存提升性能
  • 支持 SaaS 多租户,可自定义每个租户的权限,提供透明化的多租户底层封装
  • 工作流使用 Flowable,支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式
  • 高效率开发,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表
  • 实时通信,采用 Spring WebSocket 实现,内置 Token 身份校验,支持 WebSocket 集群
  • 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款
  • 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务
  • 集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏

🐳 项目关系

架构演进

三个项目的功能对比,可见社区共同整理的 国产开源项目对比 表格。

后端项目

项目Star简介
ruoyi-vue-proGitee starGitHub stars基于 Spring Boot 多模块架构
yudao-cloudGitee starGitHub stars基于 Spring Cloud 微服务架构
Spring-Boot-LabsGitee starGitHub stars系统学习 Spring Boot & Cloud 专栏

前端项目

项目Star简介
yudao-ui-admin-vue3Gitee starGitHub stars基于 Vue3 + element-plus 实现的管理后台
yudao-ui-admin-vbenGitee starGitHub stars基于 Vue3 + vben(ant-design-vue) 实现的管理后台
yudao-mall-uniappGitee starGitHub stars基于 uni-app 实现的商城小程序
yudao-ui-admin-vue2Gitee starGitHub stars基于 Vue2 + element-ui 实现的管理后台
yudao-ui-admin-uniappGitee starGitHub stars基于 Vue2 + element-ui 实现的管理后台
yudao-ui-go-viewGitee starGitHub stars基于 Vue3 + naive-ui 实现的大屏报表

😎 开源协议

为什么推荐使用本项目?

① 本项目采用比 Apache 2.0 更宽松的 MIT License 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。

② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。国产开源项目对比

开源项目对比

③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,113770 行 Java 代码,42462 行代码注释。

🤝 项目外包

我们也是接外包滴,如果你有项目想要外包,可以微信联系【Aix9975】。

团队包含专业的项目经理、架构师、前端工程师、后端工程师、测试工程师、运维工程师,可以提供全流程的外包服务。

项目可以是商城、SCRM 系统、OA 系统、物流系统、ERP 系统、CMS 系统、HIS 系统、支付系统、IM 聊天、微信公众号、微信小程序等等。

🐼 内置功能

系统内置多种多种业务功能,可以用于快速你的业务系统:

功能分层

  • 通用模块(必选):系统功能、基础设施
  • 通用模块(可选):工作流程、支付系统、数据报表、会员中心
  • 业务系统(按需):ERP 系统、CRM 系统、商城系统、微信公众号、AI 大模型

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

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

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

系统功能

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

功能图

工作流程

功能图

基于 Flowable 构建,可支持信创(国产)数据库,满足中国特色流程操作:

BPMN 设计器钉钉/飞书设计器

历经头部企业生产验证,工作流引擎须标配仿钉钉/飞书 + BPMN 双设计器!!!

前者支持轻量配置简单流程,后者实现复杂场景深度编排

功能列表功能描述是否完成
SIMPLE 设计器仿钉钉/飞书设计器,支持拖拽搭建表单流程,10 分钟快速完成审批流程配置
BPMN 设计器基于 BPMN 标准开发,适配复杂业务场景,满足多层级审批及流程自动化需求
会签同一个审批节点设置多个人(如 A、B、C 三人,三人会同时收到待办任务),需全部同意之后,审批才可到下一审批节点
或签同一个审批节点设置多个人,任意一个人处理后,就能进入下一个节点
依次审批(顺序会签)同一个审批节点设置多个人(如 A、B、C 三人),三人按顺序依次收到待办,即 A 先审批,A 提交后 B 才能审批,需全部同意之后,审批才可到下一审批节点
抄送将审批结果通知给抄送人,同一个审批默认排重,不重复抄送给同一人
驳回(退回)将审批重置发送给某节点,重新审批。可驳回至发起人、上一节点、任意节点
转办A 转给其 B 审批,B 审批后,进入下一节点
委派A 转给其 B 审批,B 审批后,转给 A,A 继续审批后进入下一节点
加签允许当前审批人根据需要,自行增加当前节点的审批人,支持向前、向后加签
减签(取消加签)在当前审批人操作之前,减少审批人
撤销(取消流程)流程发起人,可以对流程进行撤销处理
终止系统管理员,在任意节点终止流程实例
表单权限支持拖拉拽配置表单,每个审批节点可配置只读、编辑、隐藏权限
超时审批配置超时审批时间,超时后自动触发审批通过、不通过、驳回等操作
自动提醒配置提醒时间,到达时间后自动触发短信、邮箱、站内信等通知提醒,支持自定义重复提醒频次
父子流程主流程设置子流程节点,子流程节点会自动触发子流程。子流程结束后,主流程才会执行(继续往下下执行),支持同步子流程、异步子流程
条件分支(排它分支)用于在流程中实现决策,即根据条件选择一个分支执行
并行分支允许将流程分成多条分支,不进行条件判断,所有分支都会执行
包容分支(条件分支 + 并行分支的结合体)允许基于条件选择多条分支执行,但如果没有任何一个分支满足条件,则可以选择默认分支
路由分支根据条件选择一个分支执行(重定向到指定配置节点),也可以选择默认分支执行(继续往下执行)
触发节点执行到该节点,触发 HTTP 请求、HTTP 回调、更新数据、删除数据等
延迟节点执行到该节点,审批等待一段时间再执行,支持固定时长、固定日期等
拓展设置流程前置/后置通知,节点(任务)前置、后置通知,流程报表,自动审批去重,自定流程编号、标题、摘要,流程报表等

支付系统

功能描述
🚀应用信息配置商户的应用信息,对接支付宝、微信等多个支付渠道
🚀支付订单查看用户发起的支付宝、微信等的【支付】订单
🚀退款订单查看用户发起的支付宝、微信等的【退款】订单
🚀回调通知查看支付回调业务的【支付】【退款】的通知结果
🚀接入示例提供接入支付系统的【支付】【退款】的功能实战

基础设施

功能描述
🚀代码生成前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载
🚀系统接口基于 Swagger 自动生成相关的 RESTful API 接口文档
🚀数据库文档基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式
表单构建拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件
🚀配置管理对系统动态配置常用参数,支持 SpringBoot 加载
⭐️定时任务在线(添加、修改、删除)任务调度包含执行结果日志
🚀文件服务支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等
🚀WebSocket提供 WebSocket 接入示例,支持一对一、一对多发送方式
🚀API 日志包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题
MySQL 监控监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈
Redis 监控监控 Redis 数据库的使用情况,使用的 Redis Key 管理
🚀消息队列基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费
🚀Java 监控基于 Spring Boot Admin 实现 Java 应用的监控
🚀链路追踪接入 SkyWalking 组件,实现链路追踪
🚀日志中心接入 SkyWalking 组件,实现日志中心
🚀服务保障基于 Redis 实现分布式锁、幂等、限流功能,满足高并发场景
🚀日志服务轻量级日志中心,查看远程服务器的日志
🚀单元测试基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等

功能图

数据报表

功能描述
🚀报表设计器支持数据报表、图形报表、打印设计等
🚀大屏设计器拖拽生成数据大屏,内置几十种图表组件

微信公众号

功能描述
🚀账号管理配置接入的微信公众号,可支持多个公众号
🚀数据统计统计公众号的用户增减、累计用户、消息概况、接口分析等数据
🚀粉丝管理查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作
🚀消息管理查看粉丝发送的消息列表,可主动回复粉丝消息
🚀模版消息配置和发送模版消息,用于向粉丝推送通知类消息
🚀自动回复自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复
🚀标签管理对公众号的标签进行创建、查询、修改、删除等操作
🚀菜单管理自定义公众号的菜单,也可以从公众号同步菜单
🚀素材管理管理公众号的图片、语音、视频等素材,支持在线播放语音、视频
🚀图文草稿箱新增常用的图文素材到草稿箱,可发布到公众号
🚀图文发表记录查看已发布成功的图文素材,支持删除操作

商城系统

演示地址:https://cloud.iocoder.cn/mall-preview/

功能图

功能图

会员中心

功能描述
🚀会员管理会员是 C 端的消费者,该功能用于会员的搜索与管理
🚀会员标签对会员的标签进行创建、查询、修改、删除等操作
🚀会员等级对会员的等级、成长值进行管理,可用于订单折扣等会员权益
🚀会员分组对会员进行分组,用于用户画像、内容推送等运营手段
🚀积分签到回馈给签到、消费等行为的积分,会员可订单抵现、积分兑换等途径消耗

ERP 系统

演示地址:https://cloud.iocoder.cn/erp-preview/

功能图

CRM 系统

演示地址:https://cloud.iocoder.cn/crm-preview/

功能图

AI 大模型

演示地址:https://cloud.iocoder.cn/ai-preview/

功能图

功能图

🐨 技术栈

微服务

项目说明
yudao-dependenciesMaven 依赖版本管理
yudao-frameworkJava 框架拓展
yudao-server管理后台 + 用户 APP 的服务端
yudao-module-system系统功能的 Module 模块
yudao-module-member会员中心的 Module 模块
yudao-module-infra基础设施的 Module 模块
yudao-module-bpm工作流程的 Module 模块
yudao-module-pay支付系统的 Module 模块
yudao-module-mall商城系统的 Module 模块
yudao-module-erpERP 系统的 Module 模块
yudao-module-crmCRM 系统的 Module 模块
yudao-module-aiAI 大模型的 Module 模块
yudao-module-mp微信公众号的 Module 模块
yudao-module-report大屏报表 Module 模块

框架

框架说明版本学习指南
Spring Cloud Alibaba微服务框架2023.0.1文档
Nacos配置中心 & 注册中心2.3.2文档
RocketMQ消息队列5.2.0文档
Sentinel服务保障1.8.6文档
XXL Job定时任务2.4.0文档
Spring Cloud Gateway服务网关4.1.0文档
Seata分布式事务1.6.1文档
MySQL数据库服务器5.7 / 8.0+
DruidJDBC 连接池、监控组件1.2.23文档
MyBatis PlusMyBatis 增强工具包3.5.7文档
Dynamic Datasource动态数据源4.3.1文档
Rediskey-value 数据库5.0 / 6.0
RedissonRedis 客户端3.32.0文档
Spring MVCMVC 框架6.1.10文档
Spring SecuritySpring 安全框架6.3.1文档
Hibernate Validator参数校验组件8.0.1文档
Flowable工作流引擎7.0.0文档
Knife4jSwagger 增强 UI 实现4.5.0文档
SkyWalking分布式应用追踪系统9.0.0文档
Spring Boot AdminSpring Boot 监控平台3.6.1文档
JacksonJSON 工具库2.17.1
MapStructJava Bean 转换1.6.3文档
Lombok消除冗长的 Java 代码1.18.34文档
JUnitJava 单元测试框架5.10.1-
MockitoJava Mock 框架5.7.0-

🐷 演示图

系统功能

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

工作流程

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

基础设施

模块biubiubiu
代码生成代码生成生成效果-
文档系统接口数据库文档-
文件 & 配置文件配置文件管理配置管理
定时任务定时任务任务日志-
API 日志访问日志错误日志-
MySQL & RedisMySQLRedis-
监控平台Java监控链路追踪日志中心

支付系统

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

数据报表

模块biubiubiu
报表设计器数据报表图形报表报表设计器-打印设计
大屏设计器大屏列表大屏预览大屏编辑

移动端(管理后台)

biubiubiu

目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。

About

ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城、CRM、ERP、AI 大模型、IoT 物联网等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java68.1%
  • PLpgSQL24.8%
  • TSQL6.8%
  • Other0.3%