MCPcopy
hub / github.com/YunaiV/yudao-cloud

github.com/YunaiV/yudao-cloud @v2026.06(jdk25) sqlite

repository ↗ · DeepWiki ↗ · release v2026.06(jdk25) ↗
23,749 symbols 93,586 edges 5,545 files 8,436 documented · 36%
README

Coverage Status Downloads Downloads Downloads

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

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

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

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

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

🐶 新手必读

🐰 版本说明

版本 JDK 8 + Spring Boot 2.7 JDK 17/21 + Spring Boot 3.5 JDK 25 + Spring Boot 4.x
【完整版】yudao-cloud master 分支 master-jdk17 分支 master-jdk25 分支
【精简版】yudao-cloud-mini master 分支 master-jdk17 分支 master-jdk25 分支
  • 【完整版】:包括系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、WMS、MES、IM 即时通讯、AI 大模型、IoT 物联网等功能
  • 【精简版】:只包括系统功能、基础设施功能,不包括会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、WMS、MES、IM 即时通讯、AI 大模型、IoT 物联网等功能

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

🐯 平台简介

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

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

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

架构图

  • Java 后端:master 分支为 JDK 8 + Spring Boot 2.7,master-jdk17 分支为 JDK 17/21 + Spring Boot 3.5,master-jdk25 分支为 JDK 25 + Spring Boot 4.x
  • 管理后台的电脑端: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-pro Gitee star GitHub stars 基于 Spring Boot 多模块架构
yudao-cloud Gitee star GitHub stars 基于 Spring Cloud 微服务架构
Spring-Boot-Labs Gitee star GitHub stars 系统学习 Spring Boot & Cloud 专栏

前端项目

项目 Star 简介
yudao-ui-admin-vue3 Gitee star GitHub stars 基于 Vue3 + element-plus 实现的管理后台
yudao-ui-admin-vben Gitee star GitHub stars 基于 Vue3 + vben(ant-design-vue) 实现的管理后台
yudao-mall-uniapp Gitee star GitHub stars 基于 uni-app 实现的商城小程序
yudao-ui-admin-vue2 Gitee star GitHub stars 基于 Vue2 + element-ui 实现的管理后台
yudao-ui-admin-uniapp Gitee star GitHub stars 基于 Vue2 + element-ui 实现的管理后台
yudao-ui-go-view Gitee star GitHub stars 基于 Vue3 + naive-ui 实现的大屏报表

😎 开源协议

为什么推荐使用本项目?

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

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

开源项目对比

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

🤝 项目外包

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

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

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

🐼 内置功能

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

功能分层

  • 通用模块(必选):系统功能、基础设施
  • 通用模块(可选):工作流程、支付系统、数据报表、会员中心
  • 业务系统(按需):Mall 电子商城、OA 办公自动化、ERP 企业资源计划系统、WMS 仓库管理系统、CRM 客户关系管理、CMS 内容管理系统、MES 执行制造系统、AI 大模型平台、IoT 物联网系统、IM 即时通讯系统、Mobile 手机移动端、Report 数据大屏

友情提示:本项目基于 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 继续审批后进入下一节点
加签 允许当前审批人根据需要,自行增加当前节点的审批人,支持向前、向后加签
减签 (取消加签)在当前审批人操作之前,减少审批人
撤销 (取消流程)流程发起人,可以对流程进行撤销处理
终止 系统管理员,在任意节点终止流程实例
表单权限 支持拖拉拽配置表单,每个审批节点可配置只读、编辑、隐藏权限
超时审批 配置超时审批时间,超时后自动触发审批通过、不通过、驳回等操作
自动提醒 配置提醒时间,到达时间后自动触发短信、邮箱、站内信等通知提醒,支持自定义重复提醒频次
父子流程 主流程设置子流程节点,子流程节点会自动触发子流程。子流程结束后,主流程才会执行(继续往下下执行),支持同步子流程、异步子流程
条件分支 (排它分支)用于在流程中实现决策,即根据条件选择一个分支执行

Extension points exported contracts — how you extend this code

MesMdAutoCodePartStrategy (Interface)
MES 编码规则分段策略接口 @author 芋道源码 [8 implementers]
yudao-module-mes/yudao-module-mes-server/src/main/java/cn/iocoder/yudao/module/mes/service/md/autocode/strategy/MesMdAutoCodePartStrategy.java
PayClientConfig (Interface)
支付客户端的配置,本质是支付渠道的配置 每个不同的渠道,需要不同的配置,通过子类来定义 @author 芋道源码 [9 implementers]
yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClientConfig.java
ExpressClient (Interface)
快递客户端接口 @author jason [7 implementers]
yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/framework/delivery/core/client/ExpressClient.java
PayStatisticsConvert (Interface)
支付统计 Convert @author owen [6 implementers]
yudao-module-mall/yudao-module-statistics-server/src/main/java/cn/iocoder/yudao/module/statistics/convert/pay/PayStatisticsConvert.java
BpmTaskCandidateStrategy (Interface)
BPM 任务的候选人的策略接口 例如说:分配审批人 @author 芋道源码 [11 implementers]
yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/BpmTaskCandidateStrategy.java
FileClientConfig (Interface)
文件客户端的配置 不同实现的客户端,需要不同的配置,通过子类来定义 @author 芋道源码 [6 implementers]
yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/FileClientConfig.java
TenantInfoHandler (Interface)
租户信息处理 目的:尽量减少租户逻辑耦合到系统中 @author 芋道源码 [28 implementers]
yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/service/tenant/handler/TenantInfoHandler.java
RateLimiterKeyResolver (Interface)
限流 Key 解析器接口 @author 芋道源码 [13 implementers]
yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/ratelimiter/core/keyresolver/RateLimiterKeyResolver.java

Core symbols most depended-on inside this repo

success
called by 2598
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/CommonResult.java
getId
called by 2595
yudao-module-iot/yudao-module-iot-gateway/src/main/java/cn/iocoder/yudao/module/iot/gateway/protocol/IotProtocol.java
exception
called by 1966
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/util/ServiceExceptionUtil.java
get
called by 1543
yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/tag/MpTagService.java
insert
called by 1486
yudao-module-iot/yudao-module-iot-server/src/main/java/cn/iocoder/yudao/module/iot/dal/tdengine/IotDeviceMessageMapper.java
toBean
called by 1225
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/BeanUtils.java
eq
called by 1073
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/QueryWrapperX.java
getName
called by 905
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/function/ExcelColumnSelectFunction.java

Shape

Method 18,159
Class 4,281
Interface 1,052
Enum 255
Function 2

Languages

Java100%
Python1%

Modules by API surface

sql/dm/flowable-patch/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java254 symbols
sql/tools/convertor.py73 symbols
yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java69 symbols
yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmnModelUtils.java60 symbols
yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java58 symbols
yudao-module-iot/yudao-module-iot-server/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceServiceImpl.java55 symbols
yudao-module-im/yudao-module-im-server/src/main/java/cn/iocoder/yudao/module/im/service/rtc/ImRtcCallServiceImpl.java52 symbols
yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/AiModelFactoryImpl.java52 symbols
yudao-module-pay/yudao-module-pay-server/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java51 symbols
yudao-module-im/yudao-module-im-server/src/test/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImplTest.java46 symbols
yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java45 symbols
yudao-module-im/yudao-module-im-server/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupServiceImplTest.java41 symbols

Dependencies from manifests, versioned

cn.com.kingbase:kingbase8
cn.hutool:hutool-all
cn.idev.excel:fastexcel
cn.iocoder.cloud:yudao-common
cn.iocoder.cloud:yudao-dependencies
cn.iocoder.cloud:yudao-module-ai-api
cn.iocoder.cloud:yudao-module-bpm-api
cn.iocoder.cloud:yudao-module-crm-api
cn.iocoder.cloud:yudao-module-erp-api
cn.iocoder.cloud:yudao-module-im-api
cn.iocoder.cloud:yudao-module-infra-api
cn.iocoder.cloud:yudao-module-infra-server

Datastores touched

(mysql)Database · 1 repos
ruoyi-vue-proDatabase · 1 repos
ruoyi-vue-proDatabase · 1 repos
iot_dataDatabase · 1 repos
iot_dataDatabase · 1 repos
postgresDatabase · 1 repos

For agents

$ claude mcp add yudao-cloud \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact