<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RuoYi-Vue-Pro 架构总览 | RuoYiPlus</title><link>https://ruoyiplus.com/zh/ruoyi/</link><atom:link href="https://ruoyiplus.com/zh/ruoyi/index.xml" rel="self" type="application/rss+xml"/><description>RuoYi-Vue-Pro 架构总览</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>zh-Hans</language><image><url>https://ruoyiplus.com/media/icon_hu_eee4a95885829ab2.png</url><title>RuoYi-Vue-Pro 架构总览</title><link>https://ruoyiplus.com/zh/ruoyi/</link></image><item><title>功能列表</title><link>https://ruoyiplus.com/zh/ruoyi/feature/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/feature/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;这是整个平台的「能力地图」&lt;/strong&gt;。在决定是否使用 RuoYi 之前，你可以通过这个清单快速判断：你需要的能力，这里是否已经内置？如果已经内置，你需要多久能上线？&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;总代码量约 26 万行，覆盖 19 项系统功能、17 项基础设施、14 个业务子系统。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="功能全景"&gt;功能全景&lt;/h2&gt;
&lt;div class="mermaid"&gt;mindmap
root((RuoYi-Vue-Pro&lt;br/&gt;功能全景))
系统功能
用户管理
角色管理
菜单管理
部门管理
岗位管理
租户管理
字典管理
通知公告
操作日志
登录日志
敏感词管理
基础设施
代码生成器
文件服务
消息队列
配置管理
WebSocket
服务保障
系统监控
业务子系统
BPM 工作流
CRM 客户管理
ERP 进销存
Mall 商城
MES 制造执行
WMS 仓库管理
Pay 支付中心
AI 大模型
IoT 物联网
IM 即时通讯
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="系统功能19-项"&gt;系统功能（19 项）&lt;/h2&gt;
&lt;p&gt;这些是后台管理的「标配」能力，任何企业系统都需要的通用功能：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;th&gt;解决什么问题&lt;/th&gt;
&lt;th&gt;典型场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;用户管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;管理系统登录账号，支持增删改查、重置密码、状态控制&lt;/td&gt;
&lt;td&gt;创建员工账号、离职禁用账号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;在线用户&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;实时查看当前在线用户，支持强制下线&lt;/td&gt;
&lt;td&gt;安全排查、账号异常处理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;角色管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RBAC 权限模型，角色分配菜单权限和按钮权限&lt;/td&gt;
&lt;td&gt;设置「销售经理」只能看 CRM 模块&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;菜单管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;动态配置左侧菜单，支持目录/菜单/按钮三级&lt;/td&gt;
&lt;td&gt;新增业务模块后配置对应菜单&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;部门管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;组织架构树，支持数据范围权限&lt;/td&gt;
&lt;td&gt;北京分公司只能看北京数据&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;岗位管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;岗位字典，关联用户&lt;/td&gt;
&lt;td&gt;关联岗位与薪资/审批权限&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;租户管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SaaS 场景的租户注册、套餐分配、过期处理&lt;/td&gt;
&lt;td&gt;SaaS 服务商管理多个企业客户&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;租户套餐&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;为不同租户套餐绑定不同的菜单权限&lt;/td&gt;
&lt;td&gt;基础版/专业版/旗舰版功能差异&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;字典管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;全局枚举值维护，前后端共用&lt;/td&gt;
&lt;td&gt;性别、状态、类型等下拉选项&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;短信管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;短信模板、发送记录、渠道配置&lt;/td&gt;
&lt;td&gt;验证码、通知短信&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;邮件管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;邮件模板、发送记录、SMTP 配置&lt;/td&gt;
&lt;td&gt;注册验证、系统告警&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;站内信&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;系统内消息通知，已读/未读状态&lt;/td&gt;
&lt;td&gt;审批通知、系统公告&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;操作日志&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;记录用户每一次操作，含请求参数和结果&lt;/td&gt;
&lt;td&gt;审计追溯、问题排查&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;登录日志&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;记录登录 IP、时间、结果&lt;/td&gt;
&lt;td&gt;安全审计、异常登录检测&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;错误码管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;统一错误码定义，前端友好提示&lt;/td&gt;
&lt;td&gt;API 返回 &lt;code&gt;1002005001&lt;/code&gt; 对应「用户不存在」&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;通知公告&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;系统级公告发布，支持定时发布&lt;/td&gt;
&lt;td&gt;系统维护通知、公司公告&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;敏感词&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;敏感词库管理和自动过滤&lt;/td&gt;
&lt;td&gt;内容审核、评论过滤&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;应用管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;多应用配置，如管理后台 + 移动端&lt;/td&gt;
&lt;td&gt;一个系统多端入口&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;地区管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;中国行政区划数据，省市区三级&lt;/td&gt;
&lt;td&gt;地址选择器、物流区域&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="基础设施17-项"&gt;基础设施（17 项）&lt;/h2&gt;
&lt;p&gt;这些是支撑业务运行的底层能力：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;能力&lt;/th&gt;
&lt;th&gt;解决什么问题&lt;/th&gt;
&lt;th&gt;技术实现&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;代码生成器&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;一键生成 CRUD 前后端代码，告别重复劳动&lt;/td&gt;
&lt;td&gt;模板引擎，支持主子表、树形表、uni-app&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;系统接口&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基于 Swagger 的在线 API 文档&lt;/td&gt;
&lt;td&gt;Swagger3 + Knife4j&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;数据库文档&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;自动生成数据库表结构文档&lt;/td&gt;
&lt;td&gt;Screw&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;表单构建&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;可视化拖拽设计表单&lt;/td&gt;
&lt;td&gt;低代码表单设计器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;配置管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;动态配置参数，无需重启&lt;/td&gt;
&lt;td&gt;系统参数 + 配置中心&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;文件服务&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;统一文件上传/下载，多云存储切换&lt;/td&gt;
&lt;td&gt;S3 协议：MinIO/阿里云 OSS/腾讯云 COS/七牛云&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WebSocket&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;实时双向通信&lt;/td&gt;
&lt;td&gt;单机/集群双模式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;API 日志&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;记录 API 请求和响应详情&lt;/td&gt;
&lt;td&gt;拦截器 + 异步写入&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MySQL 监控&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;数据库连接池和慢查询监控&lt;/td&gt;
&lt;td&gt;Druid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Redis 监控&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Redis 内存、命中率、连接监控&lt;/td&gt;
&lt;td&gt;内置监控面板&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Java 监控&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;JVM 内存、线程、GC 监控&lt;/td&gt;
&lt;td&gt;Spring Boot Actuator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;链路追踪&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;分布式请求链路跟踪&lt;/td&gt;
&lt;td&gt;SkyWalking 集成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;日志中心&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;多服务日志集中查看&lt;/td&gt;
&lt;td&gt;日志文件管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;服务保障&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;分布式锁、幂等性、限流、防重&lt;/td&gt;
&lt;td&gt;Redisson + 自定义注解&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;单元测试&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;保障代码质量&lt;/td&gt;
&lt;td&gt;JUnit5 + 1121+ 测试用例&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="业务子系统总览"&gt;业务子系统总览&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;子系统&lt;/th&gt;
&lt;th&gt;表数量&lt;/th&gt;
&lt;th&gt;一句话描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BPM 工作流&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;审批流程引擎，仿钉钉设计器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pay 支付中心&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;统一支付/退款/转账，屏蔽渠道差异&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Report 报表&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;拖拽式大屏设计，三种报表引擎&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Member 会员&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;会员体系，VIP 等级，积分签到&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MP 公众号&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;多公众号管理，粉丝消息自动回复&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mall 商城&lt;/td&gt;
&lt;td&gt;70+&lt;/td&gt;
&lt;td&gt;完整 B2C 电商系统&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CRM 客户管理&lt;/td&gt;
&lt;td&gt;20+&lt;/td&gt;
&lt;td&gt;线索→商机→合同→回款全流程&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ERP 进销存&lt;/td&gt;
&lt;td&gt;30+&lt;/td&gt;
&lt;td&gt;采购/销售/库存/财务一体化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sale 销售财务&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;ERP 子模块，收款/付款/结算&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WMS 仓库管理&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;通用仓储管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MES 制造执行&lt;/td&gt;
&lt;td&gt;133&lt;/td&gt;
&lt;td&gt;车间级生产制造管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI 大模型&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;对话/绘画/知识库/工作流&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IoT 物联网&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;设备管理/物模型/规则引擎&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IM 即时通讯&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;私聊/群聊/频道/音视频&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="适合什么样的用户"&gt;适合什么样的用户&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Java 开发者&lt;/strong&gt;：有 Spring Boot 基础，想快速交付企业级项目&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;中小型团队&lt;/strong&gt;：需要一套覆盖多业务场景的底座，减少重复开发&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;企业 IT 部门&lt;/strong&gt;：内部信息化建设，需要审批流、进销存、CRM 等成熟模块&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SaaS 服务商&lt;/strong&gt;：需要多租户能力和模块化架构来服务多个客户&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Report 报表与大屏</title><link>https://ruoyiplus.com/zh/ruoyi/report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/report/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Report 模块让非技术人员也能做出专业的数据大屏&lt;/strong&gt;。不需要写前端代码，通过拖拽组件、配置数据源，就能生成可视化报表和大屏页面。适合管理层看板、数据监控、项目汇报等场景。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：像做 PPT 一样做数据大屏。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;Report 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;管理层想看数据，每次都让开发写页面&lt;/td&gt;
&lt;td&gt;拖拽式设计，业务人员自己做&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;数据展示需求频繁变化&lt;/td&gt;
&lt;td&gt;修改大屏配置即可，无需发版&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要专业的可视化效果&lt;/td&gt;
&lt;td&gt;内置几十种图表组件和模板&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不同场景需要不同的报表引擎&lt;/td&gt;
&lt;td&gt;提供三种引擎，按需选择&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
DESIGNER["大屏设计师&lt;br/&gt;拖拽配置大屏&lt;br/&gt;设置数据源&lt;br/&gt;发布大屏"]
VIEWER["查看者（管理层/客户）&lt;br/&gt;查看大屏&lt;br/&gt;交互筛选数据"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="三种报表引擎"&gt;三种报表引擎&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph GoView["Go-View（推荐）"]
G1["开源免费"]
G2["Vue3 技术栈"]
G3["纯前端，独立部署"]
G4["内置丰富图表组件"]
end
subgraph Jimu["JimuReport"]
J1["不开源"]
J2["内嵌后端"]
J3["支持复杂报表"]
J4["中国式报表"]
end
subgraph AJ["AJ-Report"]
A1["开源"]
A2["开发中"]
A3["完全后端驱动"]
end
&lt;/div&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;特性&lt;/th&gt;
&lt;th style="text-align: center"&gt;Go-View&lt;/th&gt;
&lt;th style="text-align: center"&gt;JimuReport&lt;/th&gt;
&lt;th style="text-align: center"&gt;AJ-Report&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;开源&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;上手难度&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐ 低&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐ 中&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐ 中&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;图表丰富度&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐⭐&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;复杂报表&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;推荐场景&lt;/td&gt;
&lt;td style="text-align: center"&gt;通用大屏&lt;/td&gt;
&lt;td style="text-align: center"&gt;中国式复杂报表&lt;/td&gt;
&lt;td style="text-align: center"&gt;后端驱动场景&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="大屏设计流程"&gt;大屏设计流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;flowchart LR
A["新建大屏&lt;br/&gt;选择模板或空白"] --&gt; B["拖拽组件&lt;br/&gt;图表/文本/图片/边框"]
B --&gt; C["配置数据源&lt;br/&gt;API 接口 / 静态数据"]
C --&gt; D["调整样式&lt;br/&gt;布局/颜色/动画"]
D --&gt; E["预览效果&lt;br/&gt;实时查看"]
E --&gt; F{满意?}
F --&gt;|是| G["发布大屏&lt;br/&gt;生成访问链接"]
F --&gt;|否| B
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="内置图表组件部分"&gt;内置图表组件（部分）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;折线图 / 柱状图 / 饼图 / 雷达图&lt;/li&gt;
&lt;li&gt;数据表格 / 滚动表格&lt;/li&gt;
&lt;li&gt;数字翻牌器&lt;/li&gt;
&lt;li&gt;地图（中国 / 省市）&lt;/li&gt;
&lt;li&gt;仪表盘&lt;/li&gt;
&lt;li&gt;词云&lt;/li&gt;
&lt;li&gt;时间轴&lt;/li&gt;
&lt;li&gt;边框和装饰组件&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="典型应用场景"&gt;典型应用场景&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;场景&lt;/th&gt;
&lt;th&gt;大屏内容&lt;/th&gt;
&lt;th&gt;查看者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;销售看板&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;今日销售额、订单量、转化率、区域排名&lt;/td&gt;
&lt;td&gt;销售总监、管理层&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;生产监控&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;产线状态、产量、不良率、设备 OEE&lt;/td&gt;
&lt;td&gt;生产经理、厂长&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;运营大屏&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;用户增长、活跃度、留存率、收入趋势&lt;/td&gt;
&lt;td&gt;运营团队&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;项目汇报&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;项目进度、里程碑、风险、资源使用&lt;/td&gt;
&lt;td&gt;项目干系人&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>AI 大模型</title><link>https://ruoyiplus.com/zh/ruoyi/ai/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/ai/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;AI 模块是一站式 AI 能力集成平台&lt;/strong&gt;，对接国内外主流大模型，提供对话、绘画、知识库（RAG）、工具调用、工作流、写作、思维导图、音乐创作等 8 大 AI 能力。无论是想给系统加一个 AI 助手，还是想做 AI 原生应用，这里都有现成的能力。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：让你的系统「会聊天、会画画、会写文章、会唱歌」。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;AI 模块如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;接入大模型需要逐个对接 API&lt;/td&gt;
&lt;td&gt;统一对接国内外主流模型，一次集成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;企业内部知识无法被 AI 利用&lt;/td&gt;
&lt;td&gt;RAG 知识库，让 AI 读懂你的文档&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI 能力单一（只会聊天）&lt;/td&gt;
&lt;td&gt;8 大能力模块覆盖多种场景&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要编排 AI 工作流&lt;/td&gt;
&lt;td&gt;集成 Dify/FastGPT/Coze 工作流平台&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;国内模型和国外模型切换复杂&lt;/td&gt;
&lt;td&gt;统一 API 层，切换模型无需改代码&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
AI_ADMIN["AI 管理员&lt;br/&gt;配置模型接入&lt;br/&gt;管理知识库&lt;br/&gt;设置权限"]
AI_USER["AI 使用者&lt;br/&gt;对话聊天&lt;br/&gt;绘画创作&lt;br/&gt;知识库问答&lt;br/&gt;写作/思维导图"]
AI_DEV["开发者&lt;br/&gt;通过 API 集成 AI 能力&lt;br/&gt;创建自定义工作流"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="8-大功能模块"&gt;8 大功能模块&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
AI_CORE["AI 大模型平台"]
AI_CORE --&gt; CHAT["💬 AI 对话&lt;br/&gt;多模型聊天&lt;br/&gt;上下文记忆&lt;br/&gt;联网搜索&lt;br/&gt;推理模式 Thinking"]
AI_CORE --&gt; IMAGE["🎨 AI 绘画&lt;br/&gt;文生图&lt;br/&gt;支持 Stable Diffusion&lt;br/&gt;Midjourney"]
AI_CORE --&gt; RAG["📚 AI 知识库&lt;br/&gt;RAG 检索增强生成&lt;br/&gt;上传文档即问答"]
AI_CORE --&gt; TOOL["🔧 AI 工具调用&lt;br/&gt;Function Calling&lt;br/&gt;MCP 协议"]
AI_CORE --&gt; WORKFLOW["🔄 AI 工作流&lt;br/&gt;集成 Dify/FastGPT/Coze&lt;br/&gt;可视化编排"]
AI_CORE --&gt; WRITE["✍️ AI 写作&lt;br/&gt;文章/报告/邮件&lt;br/&gt;多场景模板"]
AI_CORE --&gt; MINDMAP["🧠 AI 思维导图&lt;br/&gt;自动生成脑图"]
AI_CORE --&gt; MUSIC["🎵 AI 音乐&lt;br/&gt;Suno AI 音乐创作"]
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="支持的模型"&gt;支持的模型&lt;/h2&gt;
&lt;h3 id="国内模型"&gt;国内模型&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;提供方&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;通义千问&lt;/td&gt;
&lt;td&gt;阿里云&lt;/td&gt;
&lt;td&gt;综合能力强&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek&lt;/td&gt;
&lt;td&gt;深度求索&lt;/td&gt;
&lt;td&gt;性价比高，推理能力强&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;豆包&lt;/td&gt;
&lt;td&gt;字节跳动&lt;/td&gt;
&lt;td&gt;多模态能力&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;混元&lt;/td&gt;
&lt;td&gt;腾讯&lt;/td&gt;
&lt;td&gt;生态集成好&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文心一言&lt;/td&gt;
&lt;td&gt;百度&lt;/td&gt;
&lt;td&gt;中文理解强&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GLM&lt;/td&gt;
&lt;td&gt;智谱 AI&lt;/td&gt;
&lt;td&gt;开源友好&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;星火&lt;/td&gt;
&lt;td&gt;科大讯飞&lt;/td&gt;
&lt;td&gt;语音能力突出&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Moonshot&lt;/td&gt;
&lt;td&gt;月之暗面&lt;/td&gt;
&lt;td&gt;长上下文&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MiniMax&lt;/td&gt;
&lt;td&gt;MiniMax&lt;/td&gt;
&lt;td&gt;多模态&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BaiChuan&lt;/td&gt;
&lt;td&gt;百川智能&lt;/td&gt;
&lt;td&gt;中文优化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SiliconFlow&lt;/td&gt;
&lt;td&gt;SiliconFlow&lt;/td&gt;
&lt;td&gt;多模型聚合&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="国外模型"&gt;国外模型&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;提供方&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Llama&lt;/td&gt;
&lt;td&gt;Meta&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="核心能力详解"&gt;核心能力详解&lt;/h2&gt;
&lt;h3 id="ai-对话"&gt;AI 对话&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;用户：帮我分析一下这个季度的销售数据
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI：根据数据，Q3 销售额同比增长 15%，其中...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ （支持 Thinking 推理模式）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;展示完整推理过程 + 结论
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;支持联网搜索，让 AI 获取实时信息。&lt;/p&gt;
&lt;h3 id="ai-知识库rag"&gt;AI 知识库（RAG）&lt;/h3&gt;
&lt;div class="mermaid"&gt;flowchart LR
DOC["上传文档&lt;br/&gt;PDF/Word/网页"] --&gt; PARSE["文档解析&lt;br/&gt;分段/向量化"]
PARSE --&gt; STORE["向量存储"]
QUERY["用户提问"] --&gt; SEARCH["检索相关段落"]
STORE --&gt; SEARCH
SEARCH --&gt; LLM["大模型&lt;br/&gt;结合上下文回答"]
LLM --&gt; ANSWER["精准回答"]
&lt;/div&gt;
&lt;h3 id="ai-工作流"&gt;AI 工作流&lt;/h3&gt;
&lt;p&gt;集成 Dify、FastGPT、Coze 等平台，可以可视化编排复杂的 AI 工作流，如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;智能客服：用户问题 → 意图识别 → 知识库检索 → 转人工判断&lt;/li&gt;
&lt;li&gt;内容生成：关键词 → 大纲 → 正文 → 配图 → 发布&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>CRM 客户关系管理</title><link>https://ruoyiplus.com/zh/ruoyi/crm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/crm/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;CRM 是销售团队的「作战指挥系统」&lt;/strong&gt;。从一条线索开始，到转化为客户、创建商机、签订合同、收到回款——整个销售漏斗在这里全程可视化。配合公海机制，防止客户资源被个别销售「私藏」。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：让你的销售团队告别 Excel 管客户，让每一笔生意都有迹可循。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;CRM 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;客户信息散落在销售个人微信/Excel 里&lt;/td&gt;
&lt;td&gt;统一客户库，离职交接不丢数据&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;销售撞单，多人跟进同一客户&lt;/td&gt;
&lt;td&gt;客户锁定机制 + 公海规则&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不知道销售每天在干什么&lt;/td&gt;
&lt;td&gt;跟进记录、拜访记录全程留痕&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不清楚销售漏斗哪个环节有问题&lt;/td&gt;
&lt;td&gt;线索→客户→商机→合同转化率可视化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;回款管理混乱&lt;/td&gt;
&lt;td&gt;合同 → 回款计划 → 回款记录全链路&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
SALES["销售人员&lt;br/&gt;跟进线索和客户&lt;br/&gt;创建商机和合同&lt;br/&gt;记录跟进和回款"]
MANAGER["销售经理&lt;br/&gt;分配线索和客户&lt;br/&gt;审批合同&lt;br/&gt;查看团队数据"]
ADMIN4["管理员&lt;br/&gt;配置公海规则&lt;br/&gt;管理产品目录&lt;br/&gt;数据统计分析"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="销售全流程"&gt;销售全流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;flowchart LR
A["🔍 线索&lt;br/&gt;潜在客户来源"] --&gt;|转化| B["👤 客户&lt;br/&gt;正式客户"]
B --&gt;|创建| C["💼 商机&lt;br/&gt;销售机会"]
C --&gt;|推进| D["📝 合同&lt;br/&gt;签约"]
D --&gt;|收款| E["💰 回款&lt;br/&gt;资金到账"]
A -.-&gt;|无效| X1["❌ 无效线索"]
B -.-&gt;|长期未跟进| X2["🌊 掉入公海"]
X2 -.-&gt;|被其他销售领取| B
C -.-&gt;|输单| X3["❌ 关闭商机"]
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心表结构er-图"&gt;核心表结构（ER 图）&lt;/h2&gt;
&lt;div class="mermaid"&gt;erDiagram
CRM_CLUE ||--o| CRM_CUSTOMER : "转化为"
CRM_CUSTOMER ||--o{ CRM_CONTACT : "拥有"
CRM_CUSTOMER ||--o{ CRM_BUSINESS : "创建"
CRM_BUSINESS ||--o{ CRM_CONTRACT : "推进为"
CRM_CONTRACT ||--o{ CRM_RECEIVABLE : "回款"
CRM_CONTRACT ||--o{ CRM_RECEIVABLE_PLAN : "回款计划"
CRM_CLUE {
bigint id PK
varchar name "线索名称"
varchar mobile "手机号"
tinyint status "状态"
bigint owner_user_id FK "负责人"
}
CRM_CUSTOMER {
bigint id PK
varchar name "客户名称"
tinyint level "客户等级"
bigint owner_user_id FK "负责人"
}
CRM_CONTACT {
bigint id PK
bigint customer_id FK
varchar name "联系人姓名"
varchar mobile "手机号"
}
CRM_BUSINESS {
bigint id PK
bigint customer_id FK
varchar name "商机名称"
decimal total_price "预计金额"
tinyint status "阶段"
}
CRM_CONTRACT {
bigint id PK
bigint business_id FK
varchar no "合同编号"
decimal total_price "合同金额"
tinyint status "状态"
}
CRM_RECEIVABLE {
bigint id PK
bigint contract_id FK
decimal price "回款金额"
datetime time "回款时间"
}
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="公海机制"&gt;公海机制&lt;/h2&gt;
&lt;div class="mermaid"&gt;flowchart TB
CUSTOMER["客户"] --&gt;|销售跟进中| PROTECTED["保护期&lt;br/&gt;其他销售不可领取"]
PROTECTED --&gt;|超过N天未跟进| SEA["公海池&lt;br/&gt;所有销售可见"]
PROTECTED --&gt;|成交| DEAL["锁定&lt;br/&gt;永久归属该销售"]
SEA --&gt;|其他销售领取| PROTECTED
SEA --&gt;|达到客户上限| LIMIT["超过个人客户上限&lt;br/&gt;不可领取"]
&lt;/div&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;规则&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;自动释放&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;超过 N 天未跟进，客户自动掉入公海&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;提前提醒&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;到期前提醒销售及时跟进&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;锁定保护&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;成交客户永久锁定，不会掉入公海&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;客户上限&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;每个销售有最大客户数限制，防止囤积&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;定时任务&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;后台定时扫描并执行公海释放逻辑&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="数据权限"&gt;数据权限&lt;/h2&gt;
&lt;p&gt;CRM 采用&lt;strong&gt;负责人机制&lt;/strong&gt;实现数据隔离：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每个客户/线索/商机/合同都有 &lt;code&gt;owner_user_id&lt;/code&gt; 字段&lt;/li&gt;
&lt;li&gt;销售只能看到自己的数据&lt;/li&gt;
&lt;li&gt;销售经理可以看到团队数据&lt;/li&gt;
&lt;li&gt;管理员可以看到全部数据&lt;/li&gt;
&lt;li&gt;支持&lt;strong&gt;转移&lt;/strong&gt;操作：将客户转移给其他销售&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="功能清单"&gt;功能清单&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模块&lt;/th&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;线索管理&lt;/td&gt;
&lt;td&gt;线索录入、分配、转化、无效标记&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;客户管理&lt;/td&gt;
&lt;td&gt;客户信息、联系人、跟进记录、锁定&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;公海客户&lt;/td&gt;
&lt;td&gt;公海池、领取、释放规则&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;商机管理&lt;/td&gt;
&lt;td&gt;商机阶段、预计金额、输赢单&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;合同管理&lt;/td&gt;
&lt;td&gt;合同创建、审批、变更&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;回款管理&lt;/td&gt;
&lt;td&gt;回款计划、回款记录、应收统计&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;产品管理&lt;/td&gt;
&lt;td&gt;产品目录、价格&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;数据统计&lt;/td&gt;
&lt;td&gt;漏斗分析、业绩统计&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Member 会员中心</title><link>https://ruoyiplus.com/zh/ruoyi/member/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/member/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Member 模块提供独立的会员用户体系&lt;/strong&gt;，与后台管理员用户（system_users）完全隔离。它是商城系统的用户基础，负责会员注册、登录、等级成长、积分运营等 C 端用户全生命周期管理。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;关键区分&lt;/strong&gt;：管理员登录后台用的是 &lt;code&gt;system_users&lt;/code&gt;（系统用户），C 端用户注册登录用的是 &lt;code&gt;member_user&lt;/code&gt;（会员用户），两套体系完全独立。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;Member 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;C 端用户需要独立的注册登录&lt;/td&gt;
&lt;td&gt;独立的会员用户表，不与管理后台用户混淆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要会员等级和权益体系&lt;/td&gt;
&lt;td&gt;VIP 等级 + 成长值机制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要提升用户活跃和留存&lt;/td&gt;
&lt;td&gt;积分签到、积分商城&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;微信生态用户需要一键登录&lt;/td&gt;
&lt;td&gt;公众号登录、小程序登录、小程序订阅消息&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 后台角色
ADMIN3["运营人员&lt;br/&gt;管理会员信息&lt;br/&gt;配置 VIP 等级&lt;br/&gt;管理积分规则&lt;br/&gt;设置会员标签和分组"]
end
subgraph C端角色
MEMBER2["普通会员&lt;br/&gt;注册/登录/个人信息"]
VIP["VIP 会员&lt;br/&gt;享受等级权益&lt;br/&gt;积分获取和使用"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="会员体系架构"&gt;会员体系架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 账号体系
LOGIN["登录方式&lt;br/&gt;手机号/邮箱/微信"]
REGISTER["注册&lt;br/&gt;手机号/微信授权"]
end
subgraph 等级体系
LEVEL["VIP 等级&lt;br/&gt;普通 → 银卡 → 金卡 → 钻石"]
GROWTH["成长值&lt;br/&gt;消费/签到/任务获取"]
LEVEL --&gt; GROWTH
end
subgraph 积分体系
POINTS_GET["积分获取&lt;br/&gt;签到/消费/活动"]
POINTS_USE["积分使用&lt;br/&gt;抵扣/兑换"]
POINTS_GET --&gt; POINTS_USE
end
subgraph 运营体系
TAG["会员标签&lt;br/&gt;画像标记"]
GROUP["会员分组&lt;br/&gt;精准运营"]
end
LOGIN --&gt; 会员用户表
REGISTER --&gt; 会员用户表
会员用户表 --&gt; 等级体系
会员用户表 --&gt; 积分体系
会员用户表 --&gt; 运营体系
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="微信生态集成"&gt;微信生态集成&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
MEMBER3["会员模块"]
subgraph 微信能力
MP_LOGIN["公众号登录&lt;br/&gt;微信内 H5 授权"]
MINI_LOGIN["小程序登录&lt;br/&gt;一键获取手机号"]
MINI_QR["小程序二维码&lt;br/&gt;带参数二维码"]
MINI_MSG["小程序订阅消息&lt;br/&gt;订单/物流/活动通知"]
end
MEMBER3 --&gt; MP_LOGIN
MEMBER3 --&gt; MINI_LOGIN
MEMBER3 --&gt; MINI_QR
MEMBER3 --&gt; MINI_MSG
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="与商城的关系"&gt;与商城的关系&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
MEMBER4["Member 会员中心&lt;br/&gt;提供：会员信息/等级/积分"] --&gt; MALL2["Mall 商城&lt;br/&gt;消费：使用会员身份下单&lt;br/&gt;获取：下单获得积分和成长值"]
MALL2 --&gt; MEMBER4
&lt;/div&gt;
&lt;p&gt;商城依赖会员模块提供用户身份，同时商城的消费行为会反哺会员的积分和成长值。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心功能清单"&gt;核心功能清单&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;会员管理&lt;/td&gt;
&lt;td&gt;会员列表、详情、状态管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;会员标签&lt;/td&gt;
&lt;td&gt;自定义标签，用户画像标记&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;会员等级&lt;/td&gt;
&lt;td&gt;VIP 等级配置、成长值规则、升降级&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;会员分组&lt;/td&gt;
&lt;td&gt;按条件分组，支持精准推送&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;积分签到&lt;/td&gt;
&lt;td&gt;签到规则配置、连续签到奖励&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;积分记录&lt;/td&gt;
&lt;td&gt;积分明细、流水追溯&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>MP 微信公众号</title><link>https://ruoyiplus.com/zh/ruoyi/mp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/mp/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;MP 模块是微信公众号的「多账号管理中心」&lt;/strong&gt;。如果你运营着多个公众号，不需要登录微信公众平台一个个切换——在这里可以集中管理所有公众号的粉丝、消息、菜单、素材和自动回复。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：一个后台管理所有公众号，运营效率翻倍。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;MP 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;多个公众号切换管理繁琐&lt;/td&gt;
&lt;td&gt;一个后台管理多个公众号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;粉丝信息分散&lt;/td&gt;
&lt;td&gt;统一粉丝列表、标签管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;自动回复规则配置复杂&lt;/td&gt;
&lt;td&gt;可视化配置关注回复、消息回复、关键字回复&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;菜单配置体验差&lt;/td&gt;
&lt;td&gt;可视化菜单编辑器，实时预览&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;无法与业务系统联动&lt;/td&gt;
&lt;td&gt;粉丝数据与会员模块打通&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
OP["公众号运营&lt;br/&gt;管理粉丝和消息&lt;br/&gt;配置自动回复&lt;br/&gt;编辑菜单&lt;br/&gt;管理素材&lt;br/&gt;查看数据统计"]
FAN["粉丝&lt;br/&gt;关注公众号&lt;br/&gt;发送消息&lt;br/&gt;触发自动回复"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="功能架构"&gt;功能架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 核心功能["10 大功能模块"]
ACCOUNT["账号管理&lt;br/&gt;绑定多个公众号"]
STATS["数据统计&lt;br/&gt;粉丝增长/消息统计"]
FANS["粉丝管理&lt;br/&gt;粉丝列表/标签/同步"]
MSG["消息管理&lt;br/&gt;接收/回复消息"]
AUTO["自动回复&lt;br/&gt;关注/消息/关键字"]
TEMPLATE["模板消息&lt;br/&gt;业务通知推送"]
TAG2["标签管理&lt;br/&gt;粉丝分组"]
MENU["菜单管理&lt;br/&gt;可视化配置"]
MATERIAL["素材管理&lt;br/&gt;图文/图片/音频"]
DRAFT["图文草稿箱"]
end
subgraph 微信API["微信公众号 API"]
WX_API["消息接收/发送&lt;br/&gt;菜单推送&lt;br/&gt;素材上传&lt;br/&gt;用户信息获取"]
end
核心功能 --&gt; 微信API
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="自动回复规则"&gt;自动回复规则&lt;/h2&gt;
&lt;div class="mermaid"&gt;flowchart LR
EVENT["用户行为"] --&gt; TYPE{回复类型}
TYPE --&gt;|关注公众号| FOLLOW["关注回复&lt;br/&gt;欢迎语 + 引导"]
TYPE --&gt;|发送消息| KEYWORD{匹配关键字?}
KEYWORD --&gt;|完全匹配| EXACT["关键字回复"]
KEYWORD --&gt;|模糊匹配| LIKE["模糊匹配回复"]
KEYWORD --&gt;|无匹配| DEFAULT["默认消息回复"]
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="与业务系统的联动"&gt;与业务系统的联动&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
MP2["MP 公众号"] --&gt;|粉丝同步| MEMBER5["Member 会员&lt;br/&gt;公众号粉丝 → 会员用户"]
MP2 --&gt;|模板消息| MALL3["Mall 商城&lt;br/&gt;订单状态推送"]
MEMBER5 --&gt;|微信登录| MP2
&lt;/div&gt;
&lt;p&gt;公众号粉丝可以同步为会员用户，商城可以通过模板消息向用户推送订单状态，形成完整的微信生态闭环。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心功能清单"&gt;核心功能清单&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;账号管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;绑定多个公众号，切换管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;数据统计&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;粉丝增长趋势、消息互动统计&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;粉丝管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;粉丝列表、详情、标签、黑名单&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;消息管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;接收粉丝消息、人工回复&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;自动回复&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;关注回复、默认回复、关键字回复&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;模板消息&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;向粉丝推送模板消息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;标签管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;粉丝分组标签&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;菜单管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;可视化底部菜单配置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;素材管理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;图文、图片、语音、视频素材库&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;图文草稿箱&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;图文消息草稿编辑&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Mall 商城系统</title><link>https://ruoyiplus.com/zh/ruoyi/mall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/mall/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Mall 商城是平台最复杂的业务模块（70+ 张表）&lt;/strong&gt;，提供从商品管理、订单交易到营销活动、分销佣金的全链路电商能力。一套系统同时拥有管理后台（Vue3+Element Plus）和移动端（uni-app），开箱即用。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：如果你需要做一个 B2C 商城，这里已经实现了 90% 的功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;Mall 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;从零开发商城周期长&lt;/td&gt;
&lt;td&gt;70+ 张表 + 完整前后端，几周上线&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;多种营销玩法开发成本高&lt;/td&gt;
&lt;td&gt;内置优惠券/秒杀/拼团/砍价/分销&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要管理端+用户端两套前端&lt;/td&gt;
&lt;td&gt;管理后台 + uni-app 移动端一起提供&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;支付和会员需要额外对接&lt;/td&gt;
&lt;td&gt;内置对接支付中心和会员中心&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 后台角色
MALL_ADMIN["商城管理员&lt;br/&gt;管理商品/订单/营销"]
MALL_OP["运营人员&lt;br/&gt;配置活动/审核评价"]
end
subgraph C端角色
BUYER["买家&lt;br/&gt;浏览商品/下单/支付&lt;br/&gt;参与营销活动"]
DISTRIBUTOR["分销员&lt;br/&gt;推广商品&lt;br/&gt;获取佣金"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="系统架构"&gt;系统架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 管理后台
ADMIN_PANEL["Vue3 + Element Plus 管理后台&lt;br/&gt;商品/订单/营销/数据"]
end
subgraph 移动端
UNI_APP["uni-app 移动端&lt;br/&gt;H5 + APP + 小程序&lt;br/&gt;店铺装修（3套模板）"]
end
subgraph 商品中心
CATEGORY["商品分类"]
ATTR["商品属性"]
SPU["SPU 商品"]
SKU["SKU 规格"]
REVIEW["商品评价"]
end
subgraph 订单中心
CART["购物车"]
ORDER["交易订单"]
AFTER_SALE["售后管理"]
EXPRESS["快递发货"]
PICKUP["自提核销"]
end
subgraph 营销中心
COUPON["优惠券"]
SECKILL["秒杀活动"]
BARGAIN["砍价活动"]
GROUPON["拼团活动"]
DISCOUNT["限时折扣"]
CONTENT["内容营销"]
COMMISSION["分销佣金"]
end
subgraph 依赖模块
PAY2["支付中心"]
MEMBER6["会员中心"]
MP3["公众号"]
end
管理后台 --&gt; 商品中心
管理后台 --&gt; 订单中心
管理后台 --&gt; 营销中心
移动端 --&gt; 商品中心
移动端 --&gt; 订单中心
移动端 --&gt; 营销中心
订单中心 --&gt; PAY2
订单中心 --&gt; MEMBER6
营销中心 --&gt; MEMBER6
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心业务流程"&gt;核心业务流程&lt;/h2&gt;
&lt;h3 id="用户下单流程"&gt;用户下单流程&lt;/h3&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant U2 as 用户
participant APP as 移动端/PC
participant MALL4 as 商城
participant PAY3 as 支付中心
participant WMS2 as 仓库/WMS
U2-&gt;&gt;APP: 浏览商品，加入购物车
U2-&gt;&gt;APP: 确认订单，选择地址
APP-&gt;&gt;MALL4: 创建订单（待支付）
MALL4-&gt;&gt;PAY3: 发起支付
PAY3--&gt;&gt;APP: 支付页面
U2-&gt;&gt;PAY3: 完成支付
PAY3-&gt;&gt;MALL4: 回调：支付成功
MALL4-&gt;&gt;MALL4: 订单状态 → 待发货
MALL4-&gt;&gt;WMS2: 通知发货
WMS2-&gt;&gt;MALL4: 录入快递单号
MALL4-&gt;&gt;APP: 推送发货通知
U2-&gt;&gt;APP: 确认收货
MALL4-&gt;&gt;MALL4: 订单完成，发放积分
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="营销活动矩阵"&gt;营销活动矩阵&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;活动类型&lt;/th&gt;
&lt;th&gt;玩法&lt;/th&gt;
&lt;th&gt;适合场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;优惠券&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;满减/折扣/代金券，可指定商品/分类&lt;/td&gt;
&lt;td&gt;日常促销&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;秒杀&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;限时限量，超低价抢购&lt;/td&gt;
&lt;td&gt;引流、清库存&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;拼团&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;多人拼团享优惠价&lt;/td&gt;
&lt;td&gt;社交裂变&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;砍价&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;分享好友帮忙砍价&lt;/td&gt;
&lt;td&gt;拉新获客&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;限时折扣&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;指定时间段打折&lt;/td&gt;
&lt;td&gt;节日促销&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;内容营销&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;图文/视频种草&lt;/td&gt;
&lt;td&gt;内容电商&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;分销佣金&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;推广分佣，多级分销&lt;/td&gt;
&lt;td&gt;社交电商&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="店铺装修"&gt;店铺装修&lt;/h2&gt;
&lt;p&gt;移动端支持 3 套店铺装修模板，可通过拖拽组件自定义首页布局：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;轮播图 / 导航图标 / 商品推荐&lt;/li&gt;
&lt;li&gt;优惠券弹窗 / 倒计时&lt;/li&gt;
&lt;li&gt;搜索栏 / 公告栏&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="依赖关系"&gt;依赖关系&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mall 商城
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── 支付中心（Pay） —— 订单支付
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── 会员中心（Member） —— 用户身份/积分
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── 公众号（MP） —— 微信内 H5 商城
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>ERP 企业资源计划</title><link>https://ruoyiplus.com/zh/ruoyi/erp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/erp/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;ERP 是企业的「进销存中枢」&lt;/strong&gt;——管理从供应商采购、仓库库存到客户销售的完整实物和资金流动。30+ 张表覆盖采购、销售、库存、产品、财务五大核心，适合商贸企业和制造企业的日常运营管理。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：管好你的货和钱，让每一笔进出都有据可查。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;ERP 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;库存数量靠人工盘点，经常对不上&lt;/td&gt;
&lt;td&gt;每笔出入库自动更新库存，实时准确&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;采购和销售流程不透明&lt;/td&gt;
&lt;td&gt;单据审批流 + 状态追踪&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不清楚赚了多少钱&lt;/td&gt;
&lt;td&gt;采购成本 vs 销售收入，自动核算&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;多仓库调拨混乱&lt;/td&gt;
&lt;td&gt;移库操作有记录，库存位置清晰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;财务收款付款难管理&lt;/td&gt;
&lt;td&gt;结算账户 + 收付款记录&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
PURCHASER["采购员&lt;br/&gt;管理供应商&lt;br/&gt;创建采购订单&lt;br/&gt;处理采购入库和退货"]
SALES2["销售员&lt;br/&gt;管理客户&lt;br/&gt;创建销售订单&lt;br/&gt;处理销售出库和退货"]
WAREHOUSE["仓管员&lt;br/&gt;确认入库/出库&lt;br/&gt;管理库存&lt;br/&gt;执行盘点"]
FINANCE["财务&lt;br/&gt;管理结算账户&lt;br/&gt;处理收付款&lt;br/&gt;审核单据"]
MANAGER2["管理者&lt;br/&gt;审批单据&lt;br/&gt;查看报表"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="五大核心模块"&gt;五大核心模块&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 采购管理["采购管理"]
P1["供应商管理"]
P2["采购订单"]
P3["采购入库"]
P4["采购退货"]
end
subgraph 销售管理["销售管理"]
S1["客户管理"]
S2["销售订单"]
S3["销售出库"]
S4["销售退货"]
end
subgraph 库存管理["库存管理"]
I1["库存查询"]
I2["库存流水"]
I3["移库管理"]
I4["盘点管理"]
end
subgraph 产品管理["产品管理"]
PR1["产品分类"]
PR2["产品信息"]
PR3["产品单位"]
end
subgraph 财务管理["财务管理"]
F1["结算账户"]
F2["采购付款"]
F3["销售收款"]
end
采购入库 --&gt;|库存增加| 库存管理
采购退货 --&gt;|库存减少| 库存管理
销售出库 --&gt;|库存减少| 库存管理
销售退货 --&gt;|库存增加| 库存管理
采购订单 --&gt;|付款| 财务管理
销售订单 --&gt;|收款| 财务管理
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="采购流程"&gt;采购流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant P as 采购员
participant ERP3 as ERP
participant S as 供应商
participant WH as 仓库
P-&gt;&gt;ERP3: 选择供应商，创建采购订单
ERP3-&gt;&gt;ERP3: 订单状态：待审批
Note over ERP3: 可集成 BPM 工作流审批
ERP3-&gt;&gt;ERP3: 审批通过
P-&gt;&gt;S: 通知供应商发货
S-&gt;&gt;WH: 货物送达
WH-&gt;&gt;ERP3: 创建采购入库单
ERP3-&gt;&gt;ERP3: 入库审批通过
ERP3-&gt;&gt;ERP3: 库存增加
Note over ERP3: 若需退货
P-&gt;&gt;ERP3: 创建采购退货单
ERP3-&gt;&gt;ERP3: 退货审批通过 → 库存减少
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="销售流程"&gt;销售流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant C as 客户
participant S2 as 销售员
participant ERP4 as ERP
participant WH2 as 仓库
C-&gt;&gt;S2: 下达采购需求
S2-&gt;&gt;ERP4: 创建销售订单
ERP4-&gt;&gt;ERP4: 订单审批通过
S2-&gt;&gt;WH2: 通知仓库备货
WH2-&gt;&gt;ERP4: 创建销售出库单
ERP4-&gt;&gt;ERP4: 出库审批通过
ERP4-&gt;&gt;ERP4: 库存减少
WH2-&gt;&gt;C: 发货
Note over ERP4: 若需退货
S2-&gt;&gt;ERP4: 创建销售退货单
ERP4-&gt;&gt;ERP4: 退货审批通过 → 库存增加
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心表结构"&gt;核心表结构&lt;/h2&gt;
&lt;div class="mermaid"&gt;erDiagram
ERP_PRODUCT ||--o{ ERP_PURCHASE_ORDER_ITEM : "采购"
ERP_PRODUCT ||--o{ ERP_SALE_ORDER_ITEM : "销售"
ERP_PRODUCT ||--o{ ERP_STOCK : "库存"
ERP_PURCHASE_ORDER ||--o{ ERP_PURCHASE_ORDER_ITEM : "包含"
ERP_PURCHASE_ORDER ||--o{ ERP_PURCHASE_IN : "入库"
ERP_SALE_ORDER ||--o{ ERP_SALE_ORDER_ITEM : "包含"
ERP_SALE_ORDER ||--o{ ERP_SALE_OUT : "出库"
ERP_STOCK {
bigint id PK
bigint product_id FK "产品"
bigint warehouse_id FK "仓库"
int stock "库存数量"
}
ERP_PURCHASE_ORDER {
bigint id PK
varchar no "单据编号"
bigint supplier_id FK "供应商"
tinyint status "状态"
decimal total_price "总金额"
}
ERP_SALE_ORDER {
bigint id PK
varchar no "单据编号"
bigint customer_id FK "客户"
tinyint status "状态"
decimal total_price "总金额"
}
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="单据编号规则"&gt;单据编号规则&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;格式：{prefix}{yyyyMMdd}{6位自增}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;示例：CGD20240625000001（采购订单）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; XSD20240625000001（销售订单）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="审批机制"&gt;审批机制&lt;/h2&gt;
&lt;p&gt;所有出入库单据都有审批状态（&lt;code&gt;ErpAuditStatus&lt;/code&gt;）：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;状态&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;未审批&lt;/td&gt;
&lt;td&gt;草稿状态，可编辑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;已审批&lt;/td&gt;
&lt;td&gt;审批通过，触发库存变更&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键规则&lt;/strong&gt;：审批通过后才影响库存，审批驳回的单据不产生库存变动。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="依赖关系"&gt;依赖关系&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ERP 进销存
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── BPM 工作流（可选）—— 审批流程
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>WMS 仓库管理系统</title><link>https://ruoyiplus.com/zh/ruoyi/wms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/wms/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;WMS 是独立的通用仓库管理系统（16 张表）&lt;/strong&gt;，与 MES 中深度集成制造的仓库模块是两套系统。WMS 定位为「通用仓储管理」，适合纯仓储场景；如果你需要深度集成制造（如线边库、生产领料），请使用 MES 中的仓库模块。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：管好仓库的「进、出、移、盘」，让每一件货都知道在哪里。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;WMS 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;仓库有多少货不知道&lt;/td&gt;
&lt;td&gt;实时库存查询，库存流水追溯&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;出入库记录靠纸质单据&lt;/td&gt;
&lt;td&gt;电子单据，状态流转可追踪&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;货物位置不清楚&lt;/td&gt;
&lt;td&gt;多仓库、库位管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;盘点耗时耗力&lt;/td&gt;
&lt;td&gt;系统化盘点流程&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;库存数据不准&lt;/td&gt;
&lt;td&gt;每笔操作自动更新库存&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
WH_ADMIN["仓库管理员&lt;br/&gt;管理仓库/库位&lt;br/&gt;配置商品信息&lt;br/&gt;处理入库/出库/移库/盘点&lt;br/&gt;查看库存"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心业务流程"&gt;核心业务流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 入库流程
IN1["创建入库单"] --&gt; IN2["草稿状态"]
IN2 --&gt; IN3["确认完成"]
IN3 --&gt; IN4["库存增加"]
IN2 --&gt; IN5["作废"]
end
subgraph 出库流程
OUT1["创建出库单"] --&gt; OUT2["草稿状态"]
OUT2 --&gt; OUT3["确认完成"]
OUT3 --&gt; OUT4["库存减少"]
OUT2 --&gt; OUT5["作废"]
end
subgraph 移库流程
MV1["创建移库单"] --&gt; MV2["确认完成"]
MV2 --&gt; MV3["源仓库库存减少&lt;br/&gt;目标仓库库存增加"]
end
subgraph 盘点流程
CK1["创建盘点单"] --&gt; CK2["录入实盘数量"]
CK2 --&gt; CK3["确认完成"]
CK3 --&gt; CK4["盘盈：库存增加&lt;br/&gt;盘亏：库存减少"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心表结构"&gt;核心表结构&lt;/h2&gt;
&lt;div class="mermaid"&gt;erDiagram
WMS_WAREHOUSE ||--o{ WMS_STOCK : "库存"
WMS_PRODUCT ||--o{ WMS_STOCK : "库存"
WMS_WAREHOUSE {
bigint id PK
varchar name "仓库名称"
varchar code "仓库编码"
tinyint status "状态"
}
WMS_PRODUCT {
bigint id PK
varchar name "商品名称"
varchar no "商品编码"
varchar unit "单位"
}
WMS_STOCK {
bigint id PK
bigint warehouse_id FK "仓库"
bigint product_id FK "商品"
int stock "库存数量"
}
WMS_STOCK_RECORD {
bigint id PK
bigint warehouse_id FK
bigint product_id FK
int count "变动数量"
tinyint type "出入类型"
varchar business_no "关联单据号"
}
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="单据编号规则"&gt;单据编号规则&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;格式：{prefix}{月日}{4位随机数}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;示例：RK06250001（入库单）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; CK06250001（出库单）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; YK06250001（移库单）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; PK06250001（盘点单）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="两阶段状态流转"&gt;两阶段状态流转&lt;/h2&gt;
&lt;p&gt;所有单据遵循&lt;strong&gt;草稿 → 完成/作废&lt;/strong&gt;的两阶段模式：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;状态&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;草稿&lt;/td&gt;
&lt;td&gt;可编辑，不触发库存变更&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;已完成&lt;/td&gt;
&lt;td&gt;确认完成，触发库存事务&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;已作废&lt;/td&gt;
&lt;td&gt;单据作废，不触发库存变更&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键规则&lt;/strong&gt;：只有「已完成」状态才会真正影响库存数量。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="与-mes-仓库的区别"&gt;与 MES 仓库的区别&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;WMS&lt;/th&gt;
&lt;th&gt;MES 仓库模块&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;定位&lt;/td&gt;
&lt;td&gt;通用仓储管理&lt;/td&gt;
&lt;td&gt;制造深度集成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;表数量&lt;/td&gt;
&lt;td&gt;16 表&lt;/td&gt;
&lt;td&gt;62 表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;适用场景&lt;/td&gt;
&lt;td&gt;独立仓储、物流中心&lt;/td&gt;
&lt;td&gt;制造工厂、生产车间&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;特色功能&lt;/td&gt;
&lt;td&gt;基础出入库盘点&lt;/td&gt;
&lt;td&gt;线边库、生产领料、外协管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;是否需要 MES&lt;/td&gt;
&lt;td&gt;❌ 独立使用&lt;/td&gt;
&lt;td&gt;✅ 属于 MES 的一部分&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>MES 制造执行系统</title><link>https://ruoyiplus.com/zh/ruoyi/mes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/mes/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;MES 是整个平台中规模最大的业务模块（133 张表）&lt;/strong&gt;，面向制造企业的车间级管理需求。它不只是「进销存」，而是深入到生产工单、工艺路线、排产调度、报工记录、质量检验、设备维护的完整制造执行体系。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：如果你的工厂需要管「工单怎么排、工序怎么做、质量怎么检、设备怎么修」，MES 就是答案。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;MES 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;生产进度不透明&lt;/td&gt;
&lt;td&gt;工单 → 排产 → 报工全链路追踪&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;质量检验靠纸质记录&lt;/td&gt;
&lt;td&gt;IQC/IPQC/OQC/RQC 电子化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;设备故障影响交期&lt;/td&gt;
&lt;td&gt;设备台账 + 点检计划预防性维护&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;物料管理混乱&lt;/td&gt;
&lt;td&gt;线边库 + 生产领料/退料管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;外协加工难以管理&lt;/td&gt;
&lt;td&gt;外协出入库独立管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;工人排班复杂&lt;/td&gt;
&lt;td&gt;排班管理模块&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
PLANNER["计划员&lt;br/&gt;创建生产工单&lt;br/&gt;制定排产计划"]
WORKER["操作工&lt;br/&gt;查看工单任务&lt;br/&gt;报工记录&lt;br/&gt;领料/退料"]
QC["质检员&lt;br/&gt;IQC 来料检验&lt;br/&gt;IPQC 过程检验&lt;br/&gt;OQC 出货检验"]
MAINTENANCE["设备维护员&lt;br/&gt;设备台账管理&lt;br/&gt;执行点检计划"]
SUPERVISOR["车间主任&lt;br/&gt;查看生产进度&lt;br/&gt;安灯异常处理"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="七大模块全景"&gt;七大模块全景&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph MD["基础数据 md（17 表）"]
MD1["物料/产品"]
MD2["客商管理"]
MD3["车间管理"]
MD4["编码规则"]
end
subgraph PRO["生产管理 pro（17 表）"]
PRO1["工艺路线"]
PRO2["生产工单"]
PRO3["排产单"]
PRO4["报工记录"]
PRO5["安灯系统"]
end
subgraph WM["仓库管理 wm（62 表）"]
WM1["库位设置"]
WM2["库存管理"]
WM3["采购入库"]
WM4["成品入库"]
WM5["销售出库"]
WM6["领料退料"]
WM7["移库管理"]
WM8["盘点管理"]
WM9["杂项出入库"]
WM10["外协管理"]
end
subgraph QC2["质量管理 qc（16 表）"]
QC1["IQC 来料检验"]
QC2_IN["IPQC 过程检验"]
QC3["OQC 出货检验"]
QC4["RQC 退货检验"]
end
subgraph DV["设备管理 dv（12 表）"]
DV1["设备台账"]
DV2["点检计划"]
DV3["点检记录"]
end
subgraph TM["工具管理 tm（2 表）"]
TM1["工具台账"]
TM2["工具领用"]
end
subgraph CAL["排班管理 cal（7 表）"]
CAL1["班次定义"]
CAL2["排班计划"]
end
MD --&gt; PRO
MD --&gt; WM
PRO --&gt; WM
PRO --&gt; QC2
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="生产执行流程"&gt;生产执行流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant PLAN as 计划员
participant MES2 as MES
participant LINE as 产线
participant QC3 as 质检员
participant WH3 as 仓库
PLAN-&gt;&gt;MES2: 创建生产工单
PLAN-&gt;&gt;MES2: 制定排产计划
MES2-&gt;&gt;LINE: 工单下发到产线
LINE-&gt;&gt;WH3: 领料申请
WH3-&gt;&gt;MES2: 确认发料
LINE-&gt;&gt;MES2: 工序报工
QC3-&gt;&gt;MES2: IPQC 过程检验
LINE-&gt;&gt;MES2: 完工报工
QC3-&gt;&gt;MES2: OQC 出货检验
LINE-&gt;&gt;WH3: 成品入库
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="质量检验体系"&gt;质量检验体系&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph IQC["IQC 来料检验"]
I1["供应商来料"]
I2["检验 → 合格/不合格"]
I3["不合格 → 退货/让步接收"]
end
subgraph IPQC["IPQC 过程检验"]
P1["生产过程中抽检"]
P2["关键工序检验"]
P3["异常处理"]
end
subgraph OQC["OQC 出货检验"]
O1["成品出货前检验"]
O2["合格 → 放行"]
end
subgraph RQC["RQC 退货检验"]
R1["客户退货检验"]
R2["判定责任归属"]
end
IQC --&gt; IPQC --&gt; OQC
RQC -.-&gt; IQC
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="虚拟线边库wip"&gt;虚拟线边库（WIP）&lt;/h2&gt;
&lt;p&gt;MES 仓库模块中有一个特殊概念——&lt;strong&gt;虚拟线边库&lt;/strong&gt;（&lt;code&gt;WIP_VIRTUAL_WAREHOUSE&lt;/code&gt;），用于统计车间在制物资：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;物料从仓库发到产线 → 线边库增加&lt;/li&gt;
&lt;li&gt;产线消耗物料 → 线边库减少&lt;/li&gt;
&lt;li&gt;成品完工 → 线边库减少，成品库增加&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这让车间在制品的数量和位置始终清晰。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="与其他模块的关系"&gt;与其他模块的关系&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;关系&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MES vs WMS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;WMS 是通用仓库管理，MES 的仓库模块深度集成制造（线边库、领料、外协）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MES vs ERP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ERP 管「进销存」，MES 管「生产执行」，互补关系&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MES vs IoT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;IoT 可用于设备数据采集，MES 用于生产管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MES vs BPM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;可集成 BPM 做质检异常审批等&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>销售与财务管理</title><link>https://ruoyiplus.com/zh/ruoyi/sale/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/sale/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;这是 ERP 系统的财务子模块&lt;/strong&gt;，由 &lt;code&gt;yudao-module-erp&lt;/code&gt; 的 &lt;code&gt;finance&lt;/code&gt; 包实现。它不独立存在，而是紧密集成在 ERP 的采购和销售流程中，负责资金流的记录和管理。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：采购了要付款，销售了要收款，退货了要退款——财务模块就是管这些「钱」的事情。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;财务模块如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;不知道哪个供应商欠了多少钱&lt;/td&gt;
&lt;td&gt;结算账户余额清晰可见&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;付款后无法关联到具体采购单&lt;/td&gt;
&lt;td&gt;付款单关联采购入库单&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;收款和销售订单脱节&lt;/td&gt;
&lt;td&gt;收款单关联销售出库单&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;退款流程混乱&lt;/td&gt;
&lt;td&gt;退货单自动触发退款流程&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
FINANCE2["财务人员&lt;br/&gt;管理结算账户&lt;br/&gt;处理付款/收款&lt;br/&gt;处理退款&lt;br/&gt;核对账目"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心-er-图"&gt;核心 ER 图&lt;/h2&gt;
&lt;div class="mermaid"&gt;erDiagram
ERP_ACCOUNT ||--o{ ERP_FINANCE_PAYMENT : "付款"
ERP_ACCOUNT ||--o{ ERP_FINANCE_RECEIPT : "收款"
ERP_PURCHASE_IN ||--o{ ERP_FINANCE_PAYMENT : "采购入库→付款"
ERP_PURCHASE_RETURN ||--o{ ERP_FINANCE_PAYMENT : "采购退货→退款"
ERP_SALE_OUT ||--o{ ERP_FINANCE_RECEIPT : "销售出库→收款"
ERP_SALE_RETURN ||--o{ ERP_FINANCE_RECEIPT : "销售退货→退款"
ERP_ACCOUNT {
bigint id PK
varchar name "账户名称"
decimal balance "当前余额"
tinyint status "状态"
}
ERP_FINANCE_PAYMENT {
bigint id PK
varchar no "付款单号"
bigint account_id FK "结算账户"
bigint in_id FK "采购入库单"
decimal price "付款金额"
datetime time "付款时间"
}
ERP_FINANCE_RECEIPT {
bigint id PK
varchar no "收款单号"
bigint account_id FK "结算账户"
bigint out_id FK "销售出库单"
decimal price "收款金额"
datetime time "收款时间"
}
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="业务场景"&gt;业务场景&lt;/h2&gt;
&lt;h3 id="场景一采购付款"&gt;场景一：采购付款&lt;/h3&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant P2 as 采购员
participant F2 as 财务
participant ERP5 as ERP
participant ACC as 结算账户
P2-&gt;&gt;ERP5: 完成采购入库
F2-&gt;&gt;ERP5: 查看待付款的采购入库单
F2-&gt;&gt;ERP5: 选择结算账户，创建付款单
ERP5-&gt;&gt;ACC: 扣减账户余额
ERP5-&gt;&gt;ERP5: 记录付款流水
&lt;/div&gt;
&lt;h3 id="场景二销售收款"&gt;场景二：销售收款&lt;/h3&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant S3 as 销售员
participant F3 as 财务
participant ERP6 as ERP
participant ACC2 as 结算账户
S3-&gt;&gt;ERP6: 完成销售出库
F3-&gt;&gt;ERP6: 查看待收款的销售出库单
F3-&gt;&gt;ERP6: 选择结算账户，创建收款单
ERP6-&gt;&gt;ACC2: 增加账户余额
ERP6-&gt;&gt;ERP6: 记录收款流水
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="结算账户"&gt;结算账户&lt;/h2&gt;
&lt;p&gt;结算账户代表公司与供应商/客户之间的资金账户关系，每笔收付款都会影响对应账户的余额。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;属性&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;账户名称&lt;/td&gt;
&lt;td&gt;如「XX 供应商结算账户」&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;当前余额&lt;/td&gt;
&lt;td&gt;实时更新，付款减、收款加&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;状态&lt;/td&gt;
&lt;td&gt;启用/禁用&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>IoT 物联网</title><link>https://ruoyiplus.com/zh/ruoyi/iot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/iot/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;IoT 模块是一个类阿里云物联网平台的设备管理平台&lt;/strong&gt;。它可以接入海量设备，通过物模型定义设备能力，利用规则引擎处理设备数据，实现设备数据采集、远程控制和场景联动。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：如果你的硬件设备需要接入云端管理，这里提供从设备注册到数据流转的完整链路。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;IoT 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;设备接入协议多样&lt;/td&gt;
&lt;td&gt;支持 MQTT/HTTP/CoAP/TCP/UDP/WebSocket/Modbus 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;设备数据格式不统一&lt;/td&gt;
&lt;td&gt;物模型标准化设备能力定义&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;设备数据不知道如何处理&lt;/td&gt;
&lt;td&gt;规则引擎 → 数据流转/场景联动/告警&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;设备固件升级困难&lt;/td&gt;
&lt;td&gt;OTA 远程升级&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要对接第三方 IoT 平台&lt;/td&gt;
&lt;td&gt;内置 EMQX 集成，可自定义协议&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
IOT_ADMIN["IoT 管理员&lt;br/&gt;定义产品&lt;br/&gt;管理设备&lt;br/&gt;配置物模型&lt;br/&gt;设置规则引擎"]
IOT_DEV["设备开发者&lt;br/&gt;设备端开发&lt;br/&gt;协议对接&lt;br/&gt;OTA 升级"]
IOT_OP["运维人员&lt;br/&gt;监控设备状态&lt;br/&gt;处理告警&lt;br/&gt;数据分析"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="平台架构"&gt;平台架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 设备层["设备层"]
D1["传感器"]
D2["网关"]
D3["控制器"]
D4["智能设备"]
end
subgraph 接入层["接入层（多协议）"]
P1["MQTT"]
P2["HTTP"]
P3["CoAP"]
P4["TCP/UDP"]
P5["WebSocket"]
P6["Modbus"]
end
subgraph 平台层["IoT 平台"]
PRODUCT["产品管理&lt;br/&gt;定义设备类型"]
DEVICE["设备管理&lt;br/&gt;注册/认证/状态"]
MODEL["物模型&lt;br/&gt;属性/服务/事件"]
OTA["OTA 升级&lt;br/&gt;固件远程更新"]
end
subgraph 处理层["数据处理层"]
RULE["规则引擎&lt;br/&gt;数据规则/场景联动/告警"]
TD["TDengine&lt;br/&gt;时序数据存储"]
end
设备层 --&gt; 接入层
接入层 --&gt; 平台层
平台层 --&gt; 处理层
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="物模型设计"&gt;物模型设计&lt;/h2&gt;
&lt;p&gt;物模型是 IoT 的核心概念，用标准化的方式描述设备「有什么属性、能做什么、会报告什么」：&lt;/p&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 物模型["物模型 = 设备的数字化描述"]
ATTR["属性 Property&lt;br/&gt;设备的静态特征&lt;br/&gt;例：温度、湿度、开关状态"]
SERVICE["服务 Service&lt;br/&gt;设备可执行的操作&lt;br/&gt;例：开锁、重启、校准"]
EVENT["事件 Event&lt;br/&gt;设备主动上报的信息&lt;br/&gt;例：告警、故障、完成通知"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="规则引擎"&gt;规则引擎&lt;/h2&gt;
&lt;div class="mermaid"&gt;flowchart LR
DATA["设备数据"] --&gt; ENGINE["规则引擎"]
ENGINE --&gt;|数据规则| ROUTE1["数据路由&lt;br/&gt;存储到 TDengine&lt;br/&gt;转发到 HTTP/Kafka"]
ENGINE --&gt;|场景联动| ROUTE2["场景联动&lt;br/&gt;温度 &gt; 30°C → 自动开风扇"]
ENGINE --&gt;|告警配置| ROUTE3["告警&lt;br/&gt;设备离线 &gt; 5 分钟 → 发送通知"]
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="设备生命周期"&gt;设备生命周期&lt;/h2&gt;
&lt;div class="mermaid"&gt;flowchart LR
CREATE["创建产品&lt;br/&gt;定义物模型"] --&gt; REG["注册设备&lt;br/&gt;获取认证信息"]
REG --&gt; ONLINE["设备上线&lt;br/&gt;建立连接"]
ONLINE --&gt; WORK["正常工作&lt;br/&gt;上报数据/接收指令"]
WORK --&gt; OTA2["OTA 升级"]
OTA2 --&gt; WORK
WORK --&gt; OFFLINE["设备下线"]
OFFLINE --&gt; ONLINE
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="支持的协议"&gt;支持的协议&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;协议&lt;/th&gt;
&lt;th&gt;适用场景&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MQTT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;物联网主流协议&lt;/td&gt;
&lt;td&gt;轻量、发布订阅、QoS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HTTP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;简单设备、Web 应用&lt;/td&gt;
&lt;td&gt;通用性强&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CoAP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;低功耗设备&lt;/td&gt;
&lt;td&gt;类 HTTP、UDP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;TCP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;自定义协议&lt;/td&gt;
&lt;td&gt;灵活、高效&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UDP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高频数据上报&lt;/td&gt;
&lt;td&gt;低延迟&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WebSocket&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;实时双向通信&lt;/td&gt;
&lt;td&gt;浏览器友好&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Modbus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;工业设备&lt;/td&gt;
&lt;td&gt;工控标准&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EMQX&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高性能 MQTT Broker&lt;/td&gt;
&lt;td&gt;百万级连接&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;自定义协议&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;特殊设备&lt;/td&gt;
&lt;td&gt;扩展开发&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="技术依赖"&gt;技术依赖&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TDengine&lt;/strong&gt;：时序数据库，用于存储设备上报的海量时序数据（需额外搭建）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EMQX&lt;/strong&gt;：高性能 MQTT Broker（可选，用于大规模设备接入）&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>IM 即时通讯</title><link>https://ruoyiplus.com/zh/ruoyi/im/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/im/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;IM 模块为你的平台提供内置即时通讯能力&lt;/strong&gt;——无需集成第三方 IM SDK（如环信、融云），直接在系统内实现私聊、群聊、频道推送和音视频通话。特别适合需要「平台内通讯」的场景，如电商客服、企业内部沟通、社区私信等。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：让你的用户在你的平台里就能聊天，数据和体验完全可控。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;IM 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;第三方 IM SDK 费用高&lt;/td&gt;
&lt;td&gt;自建 IM，零额外成本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;用户数据存在第三方&lt;/td&gt;
&lt;td&gt;聊天数据在自己的数据库&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;需要与业务系统打通&lt;/td&gt;
&lt;td&gt;用户体系、好友关系与业务联动&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;音视频通话能力&lt;/td&gt;
&lt;td&gt;集成 LiveKit，支持 WebRTC 通话&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
IM_USER["普通用户&lt;br/&gt;私聊/群聊&lt;br/&gt;发送文字/图片/文件/语音&lt;br/&gt;音视频通话"]
IM_ADMIN["IM 管理员&lt;br/&gt;管理群组&lt;br/&gt;配置频道&lt;br/&gt;管理敏感词&lt;br/&gt;查看消息记录"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="功能架构"&gt;功能架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 核心功能["核心功能"]
MSG2["消息中心&lt;br/&gt;私聊/群聊&lt;br/&gt;文字/图片/文件/语音/视频"]
FRIEND["好友关系&lt;br/&gt;添加/删除/黑名单"]
GROUP["群组管理&lt;br/&gt;创建/加入/退出/禁言"]
CHANNEL["频道推送&lt;br/&gt;公告/通知广播"]
CALL["音视频通话&lt;br/&gt;基于 LiveKit&lt;br/&gt;WebRTC"]
end
subgraph 辅助功能
EMOJI["表情管理"]
SENSITIVE["敏感词过滤"]
end
subgraph 通信层["通信层"]
WS["WebSocket 实时通信&lt;br/&gt;local / redis / rocketmq&lt;br/&gt;/ kafka / rabbitmq"]
end
核心功能 --&gt; 通信层
辅助功能 --&gt; 核心功能
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心-er-图"&gt;核心 ER 图&lt;/h2&gt;
&lt;div class="mermaid"&gt;erDiagram
IM_USER ||--o{ IM_MESSAGE : "发送"
IM_USER ||--o{ IM_FRIEND : "好友关系"
IM_USER ||--o{ IM_GROUP_MEMBER : "群成员"
IM_GROUP ||--o{ IM_GROUP_MEMBER : "包含"
IM_GROUP ||--o{ IM_MESSAGE : "群消息"
IM_CHANNEL ||--o{ IM_CHANNEL_MESSAGE : "频道消息"
IM_CHANNEL ||--o{ IM_CHANNEL_MEMBER : "频道成员"
IM_MESSAGE {
bigint id PK
bigint from_user_id FK "发送者"
bigint to_user_id FK "接收者"
bigint group_id FK "群组"
tinyint type "消息类型"
text content "消息内容"
datetime create_time "发送时间"
}
IM_GROUP {
bigint id PK
varchar name "群名称"
bigint owner_user_id FK "群主"
tinyint status "状态"
}
IM_CHANNEL {
bigint id PK
varchar name "频道名称"
tinyint type "频道类型"
}
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="数据库表分组"&gt;数据库表分组&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;分组&lt;/th&gt;
&lt;th&gt;表数量&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;消息中心&lt;/td&gt;
&lt;td&gt;2 表&lt;/td&gt;
&lt;td&gt;消息记录、消息会话&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;好友关系&lt;/td&gt;
&lt;td&gt;2 表&lt;/td&gt;
&lt;td&gt;好友、好友申请&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;群组管理&lt;/td&gt;
&lt;td&gt;3 表&lt;/td&gt;
&lt;td&gt;群组、群成员、群公告&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;频道推送&lt;/td&gt;
&lt;td&gt;3 表&lt;/td&gt;
&lt;td&gt;频道、频道成员、频道消息&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;音视频通话&lt;/td&gt;
&lt;td&gt;2 表&lt;/td&gt;
&lt;td&gt;通话记录、通话参与人&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;其他&lt;/td&gt;
&lt;td&gt;4 表&lt;/td&gt;
&lt;td&gt;表情、敏感词等&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="websocket-通信模式"&gt;WebSocket 通信模式&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 发送模式["消息发送模式（可切换）"]
LOCAL["local&lt;br/&gt;单机模式&lt;br/&gt;开发调试用"]
REDIS3["redis&lt;br/&gt;Redis 广播&lt;br/&gt;小规模集群"]
ROCKET2["rocketmq&lt;br/&gt;RocketMQ&lt;br/&gt;高吞吐"]
KAFKA2["kafka&lt;br/&gt;Kafka&lt;br/&gt;大规模"]
RABBIT2["rabbitmq&lt;br/&gt;RabbitMQ&lt;br/&gt;企业级"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="应用场景"&gt;应用场景&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;场景&lt;/th&gt;
&lt;th&gt;使用方式&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;电商客服&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;买家 ↔ 商家客服私聊&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;企业内部通讯&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;员工群聊、部门频道&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;社区私信&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;用户之间私聊&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;在线教育&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;学生 ↔ 老师、课程群聊 + 音视频&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;医疗咨询&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;患者 ↔ 医生私聊 + 音视频问诊&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Vue3 管理后台</title><link>https://ruoyiplus.com/zh/ruoyi/vue3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/vue3/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Vue3 管理后台是 RuoYi 的主推前端方案&lt;/strong&gt;，也是业务功能最完整的前端项目。如果你不确定选哪个前端，就选这个——所有 14 个子系统的页面都在这里最先落地。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;技术栈&lt;/strong&gt;：Vue3 + TypeScript + Vite + Element Plus + Pinia&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="适合什么样的用户"&gt;适合什么样的用户&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;用户画像&lt;/th&gt;
&lt;th&gt;为什么选这个&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;追求稳定性的团队&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;所有功能最先在这里实现，经过最充分的测试&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Element Plus 生态用户&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;组件库成熟、文档完善、社区活跃&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;需要最全业务功能&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;14 个子系统全部有对应页面&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;二次开发场景&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;代码结构清晰，模块化程度高&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="项目架构"&gt;项目架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 入口
MAIN["main.ts&lt;br/&gt;应用入口"]
end
subgraph 核心层["核心层"]
ROUTER["router/&lt;br/&gt;路由配置"]
STORE["store/&lt;br/&gt;Pinia 状态管理"]
UTILS["utils/&lt;br/&gt;工具函数"]
end
subgraph 请求层["请求层"]
AXIOS["utils/request.ts&lt;br/&gt;axios 封装&lt;br/&gt;baseURL / timeout / 拦截器"]
API["api/&lt;br/&gt;按模块划分 API"]
MOCK["mock/&lt;br/&gt;Mock 数据"]
end
subgraph 视图层["视图层（按子系统划分）"]
SYS_V["views/system/&lt;br/&gt;系统管理"]
BPM_V["views/bpm/&lt;br/&gt;工作流"]
CRM_V["views/crm/&lt;br/&gt;客户管理"]
ERP_V["views/erp/&lt;br/&gt;进销存"]
MALL_V["views/mall/&lt;br/&gt;商城"]
end
subgraph 组件层
COMPS["components/&lt;br/&gt;公共组件"]
DIRS["directives/&lt;br/&gt;自定义指令"]
PLUGINS["plugins/&lt;br/&gt;插件"]
end
MAIN --&gt; ROUTER
MAIN --&gt; STORE
ROUTER --&gt; 视图层
视图层 --&gt; API
API --&gt; AXIOS
AXIOS --&gt; UTILS
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="关键设计"&gt;关键设计&lt;/h2&gt;
&lt;h3 id="axios-请求封装"&gt;axios 请求封装&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;baseURL: /api
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;timeout: 30000ms
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;拦截器:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 请求拦截：自动附加 Token
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 响应拦截：统一错误处理、Token 过期跳转登录页
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="页面文件组织"&gt;页面文件组织&lt;/h3&gt;
&lt;p&gt;每个业务页面通常包含：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;views&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;erp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;purchase&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vue&lt;/span&gt; &lt;span class="c1"&gt;# 列表页面&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vue&lt;/span&gt; &lt;span class="c1"&gt;# 表单弹窗&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ts&lt;/span&gt; &lt;span class="c1"&gt;# 常量定义&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="权限控制"&gt;权限控制&lt;/h3&gt;
&lt;p&gt;菜单和按钮都通过权限标识控制：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 按钮权限示例
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;el&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="na"&gt;button&lt;/span&gt; &lt;span class="na"&gt;v-hasPermi&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;[&amp;#39;erp:purchase-order:create&amp;#39;]&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;新增&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/el-button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 菜单由后端返回，前端根据角色动态渲染
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="与其他前端的对比"&gt;与其他前端的对比&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;Vue3 管理后台&lt;/th&gt;
&lt;th&gt;Vben5&lt;/th&gt;
&lt;th&gt;Vue2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;定位&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主推，功能最全&lt;/td&gt;
&lt;td&gt;新一代，架构更先进&lt;/td&gt;
&lt;td&gt;经典版，兼容 Vue2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UI 库&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Element Plus&lt;/td&gt;
&lt;td&gt;Ant Design / Element Plus&lt;/td&gt;
&lt;td&gt;Element UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;业务功能&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ 全覆盖&lt;/td&gt;
&lt;td&gt;🚧 逐步迁移中&lt;/td&gt;
&lt;td&gt;✅ 全覆盖&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;开发体验&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;适用场景&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;新项目首选&lt;/td&gt;
&lt;td&gt;追求最新技术栈&lt;/td&gt;
&lt;td&gt;Vue2 存量项目&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="快速上手"&gt;快速上手&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 进入前端目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; yudao-ui-admin-vue3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 安装依赖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pnpm install
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. 启动开发服务器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pnpm run dev
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 4. 访问&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://localhost:80
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Vben5 管理后台</title><link>https://ruoyiplus.com/zh/ruoyi/vben5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/vben5/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Vben5 是 RuoYi 的新一代管理后台&lt;/strong&gt;，基于 Vben Admin 5.x（Monorepo 大仓架构），架构设计更先进。支持 Ant Design Vue 和 Element Plus 两种 UI 组件库，你可以根据团队偏好自由选择。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;技术栈&lt;/strong&gt;：Vue3 + TypeScript + Vite + Vben5 + Ant Design Vue / Element Plus&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="适合什么样的用户"&gt;适合什么样的用户&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;用户画像&lt;/th&gt;
&lt;th&gt;为什么选这个&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;追求最新架构的团队&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Monorepo + 更先进的状态管理 + 更强的类型约束&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ant Design 生态用户&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;支持 Ant Design Vue，UI 风格更国际化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;大型项目团队&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Vben 组件体系（Vxe Table / Vben Form / Vben Modal）更适合复杂表单和表格&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;愿意接受功能迁移中的状态&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;部分业务模块仍在从 Vue3 版迁移中&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="项目架构"&gt;项目架构&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph Monorepo["Monorepo 大仓结构"]
APPS["apps/&lt;br/&gt;应用入口"]
PKGS["packages/&lt;br/&gt;共享包"]
INTERNAL["internal/&lt;br/&gt;内部工具"]
end
subgraph UI["双 UI 库支持"]
ANT["Ant Design Vue&lt;br/&gt;风格更国际化"]
EP["Element Plus&lt;br/&gt;风格更国产化"]
end
subgraph COMP["Vben 组件体系"]
TABLE["Vben Vxe Table&lt;br/&gt;高性能表格"]
FORM["Vben Form&lt;br/&gt;声明式表单"]
MODAL["Vben Modal&lt;br/&gt;弹窗管理"]
DRAWER["Vben Drawer&lt;br/&gt;抽屉组件"]
end
subgraph PAGES["页面结构（每页面三文件）"]
INDEX["index.vue&lt;br/&gt;页面入口"]
FORM_V["form.vue&lt;br/&gt;表单定义"]
DATA["data.ts&lt;br/&gt;数据逻辑"]
end
APPS --&gt; UI
APPS --&gt; COMP
APPS --&gt; PAGES
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心优势"&gt;核心优势&lt;/h2&gt;
&lt;h3 id="1-monorepo-大仓架构"&gt;1. Monorepo 大仓架构&lt;/h3&gt;
&lt;p&gt;所有包在一个仓库中管理，依赖版本统一，代码复用更方便。共享的工具函数、类型定义、组件统一放在 &lt;code&gt;packages/&lt;/code&gt; 下。&lt;/p&gt;
&lt;h3 id="2-双-ui-库自由切换"&gt;2. 双 UI 库自由切换&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 可以选择使用 Ant Design Vue
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Table&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="kr"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;ant-design-vue&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 也可以选择 Element Plus
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ElButton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ElTable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ElForm&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="kr"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;element-plus&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同一个业务逻辑，可以适配两种 UI 风格，这对需要交付给不同客户的项目尤其有价值。&lt;/p&gt;
&lt;h3 id="3-声明式组件体系"&gt;3. 声明式组件体系&lt;/h3&gt;
&lt;p&gt;Vben 的组件体系让复杂表单和表格的开发效率大幅提升：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vue" data-lang="vue"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="nx"&gt;Vben&lt;/span&gt; &lt;span class="nx"&gt;Vxe&lt;/span&gt; &lt;span class="nx"&gt;Table&lt;/span&gt;&lt;span class="err"&gt;：&lt;/span&gt;&lt;span class="nx"&gt;声明式列定义&lt;/span&gt; &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;vxe-grid&lt;/span&gt; &lt;span class="nt"&gt;v-bind&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;gridOptions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="na"&gt;内置分页&lt;/span&gt;&lt;span class="err"&gt;、&lt;/span&gt;&lt;span class="na"&gt;排序&lt;/span&gt;&lt;span class="err"&gt;、&lt;/span&gt;&lt;span class="na"&gt;筛选&lt;/span&gt;&lt;span class="err"&gt;、&lt;/span&gt;&lt;span class="na"&gt;导出&lt;/span&gt; &lt;span class="err"&gt;--&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;vxe-grid&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="nx"&gt;Vben&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt;&lt;span class="err"&gt;：&lt;/span&gt;&lt;span class="nx"&gt;声明式表单&lt;/span&gt; &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;vben-form&lt;/span&gt; &lt;span class="nt"&gt;:schema&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;formSchema&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="功能迁移进度"&gt;功能迁移进度&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模块&lt;/th&gt;
&lt;th&gt;状态&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;系统管理&lt;/td&gt;
&lt;td&gt;✅ 已完成&lt;/td&gt;
&lt;td&gt;用户/角色/菜单/部门等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;基础设施&lt;/td&gt;
&lt;td&gt;✅ 已完成&lt;/td&gt;
&lt;td&gt;代码生成/文件/配置等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BPM 工作流&lt;/td&gt;
&lt;td&gt;✅ 已完成（v2.6.1）&lt;/td&gt;
&lt;td&gt;Ant Design 版本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CRM 客户管理&lt;/td&gt;
&lt;td&gt;✅ 已完成（v2.6.1）&lt;/td&gt;
&lt;td&gt;Ant Design 版本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pay 支付中心&lt;/td&gt;
&lt;td&gt;✅ 已完成（v2.6.1）&lt;/td&gt;
&lt;td&gt;Ant Design 版本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Member 会员&lt;/td&gt;
&lt;td&gt;✅ 已完成（v2.6.1）&lt;/td&gt;
&lt;td&gt;Ant Design 版本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI 大模型&lt;/td&gt;
&lt;td&gt;✅ 已完成（v2.6.1）&lt;/td&gt;
&lt;td&gt;Ant Design 版本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ERP 进销存&lt;/td&gt;
&lt;td&gt;🚧 进行中&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mall 商城&lt;/td&gt;
&lt;td&gt;🚧 进行中&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="快速上手"&gt;快速上手&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 进入目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; yudao-ui-admin-vben5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 安装依赖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pnpm install
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. 启动开发服务器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pnpm run dev
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 4. 访问&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://localhost:端口号
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>SaaS 多租户</title><link>https://ruoyiplus.com/zh/ruoyi/saas-tenant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/saas-tenant/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;SaaS 多租户让你用一套代码同时服务多个企业客户&lt;/strong&gt;，每个客户（租户）只能看到自己的数据，彼此完全隔离。无论是做垂直 SaaS 产品还是企业内部多子公司管理，这都是不可或缺的能力。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;两种方案&lt;/strong&gt;：字段隔离（轻量级，适合中小规模）和数据库隔离（物理隔离，适合大规模 SaaS）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="适合什么样的用户"&gt;适合什么样的用户&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;场景&lt;/th&gt;
&lt;th&gt;推荐方案&lt;/th&gt;
&lt;th&gt;原因&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SaaS 创业初期&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;字段隔离&lt;/td&gt;
&lt;td&gt;运维简单，一台数据库搞定&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;大型 SaaS 平台&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;数据库隔离&lt;/td&gt;
&lt;td&gt;物理隔离，安全性高，可独立备份&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;企业内部多公司&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;字段隔离&lt;/td&gt;
&lt;td&gt;公司数量有限，逻辑隔离足够&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;金融/医疗等强合规行业&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;数据库隔离&lt;/td&gt;
&lt;td&gt;数据必须物理隔离&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="两种方案对比"&gt;两种方案对比&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph COLUMN["方案一：字段隔离 COLUMN 模式"]
direction TB
C1["所有租户共享&lt;br/&gt;同一数据库同一套表"]
C2["每张表添加&lt;br/&gt;tenant_id 字段"]
C3["SQL 拦截器&lt;br/&gt;自动拼接 WHERE tenant_id = ?"]
C4["优点：运维简单、资源利用率高&lt;br/&gt;缺点：逻辑隔离，安全性一般"]
C1 --&gt; C2 --&gt; C3 --&gt; C4
end
subgraph DATASOURCE["方案二：数据库隔离 DATASOURCE 模式"]
direction TB
D1["主库：共享表&lt;br/&gt;用户/菜单/配置/租户信息"]
D2["租户库 A：业务表"]
D3["租户库 B：业务表"]
D4["租户库 C：业务表"]
D5["优点：物理隔离、安全性高、可独立备份&lt;br/&gt;缺点：运维复杂、资源利用率低"]
D1 --&gt; D2
D1 --&gt; D3
D1 --&gt; D4
D2 &amp; D3 &amp; D4 --&gt; D5
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="详细对比"&gt;详细对比&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;字段隔离（COLUMN）&lt;/th&gt;
&lt;th&gt;数据库隔离（DATASOURCE）&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;隔离级别&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;逻辑隔离&lt;/td&gt;
&lt;td&gt;物理隔离&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;安全性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;中等（依赖 SQL 拦截）&lt;/td&gt;
&lt;td&gt;高（数据库级隔离）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;资源利用率&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高（共享连接池）&lt;/td&gt;
&lt;td&gt;低（每租户独立连接）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;运维复杂度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;低（单库运维）&lt;/td&gt;
&lt;td&gt;高（多库运维）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;扩展性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;受限于单库性能&lt;/td&gt;
&lt;td&gt;可水平扩展&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;数据备份&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;需要按 tenant_id 筛选&lt;/td&gt;
&lt;td&gt;每个租户独立备份&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;适用规模&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;百级租户&lt;/td&gt;
&lt;td&gt;千级/万级租户&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;技术实现&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;MyBatis Plus 拦截器&lt;/td&gt;
&lt;td&gt;dynamic-datasource&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="字段隔离实现原理"&gt;字段隔离实现原理&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant U as 用户（租户A）
participant APP as 应用层
participant INTERCEPTOR as SQL 拦截器
participant DB as 共享数据库
U-&gt;&gt;APP: 查询客户列表
APP-&gt;&gt;INTERCEPTOR: SELECT * FROM crm_customer
INTERCEPTOR-&gt;&gt;INTERCEPTOR: 自动拼接 tenant_id = 'A'
INTERCEPTOR-&gt;&gt;DB: SELECT * FROM crm_customer&lt;br/&gt;WHERE tenant_id = 'A'
DB--&gt;&gt;APP: 只返回租户A的数据
APP--&gt;&gt;U: 显示客户列表
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;核心机制&lt;/strong&gt;：通过 MyBatis Plus 的多租户插件，在执行任何 SQL 前自动添加 &lt;code&gt;tenant_id&lt;/code&gt; 条件，对业务代码完全透明。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="数据库隔离实现原理"&gt;数据库隔离实现原理&lt;/h2&gt;
&lt;p&gt;基于 &lt;code&gt;dynamic-datasource&lt;/code&gt; 动态数据源，请求进入时根据当前租户 ID 切换到对应的数据源：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spring&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;datasource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;dynamic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;master &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 主库（共享表）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;datasource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;master&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 主库配置&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;jdbc:mysql://localhost:3306/ruoyi_master&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;tenant_1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 租户1的独立数据库&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;jdbc:mysql://localhost:3306/ruoyi_tenant_1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;tenant_2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 租户2的独立数据库&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;jdbc:mysql://localhost:3306/ruoyi_tenant_2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="租户套餐管理"&gt;租户套餐管理&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
PACKAGE1["基础版套餐&lt;br/&gt;系统管理 + 基础功能"]
PACKAGE2["专业版套餐&lt;br/&gt;基础版 + CRM + ERP"]
PACKAGE3["旗舰版套餐&lt;br/&gt;全部功能"]
租户A["租户 A"] --&gt; PACKAGE1
租户B["租户 B"] --&gt; PACKAGE2
租户C["租户 C"] --&gt; PACKAGE3
&lt;/div&gt;
&lt;p&gt;每个租户可以绑定一个套餐，套餐定义了该租户可见的菜单和可用功能。支持套餐到期自动禁用。&lt;/p&gt;</description></item><item><title>代码生成进阶</title><link>https://ruoyiplus.com/zh/ruoyi/new-feature/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/new-feature/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;代码生成器是 RuoYi 开发效率的「核武器」&lt;/strong&gt;。常规的单表 CRUD 已经不能满足复杂业务场景，这里介绍三种进阶生成模式，覆盖了企业开发中最常见的复杂页面形态。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;有了这些能力，一个包含主子表、审批流的复杂业务页面，从「写几天」变成「配几分钟」。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="适合什么样的用户"&gt;适合什么样的用户&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;场景&lt;/th&gt;
&lt;th&gt;推荐模式&lt;/th&gt;
&lt;th&gt;效果&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;订单+明细&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主子表-标准模式&lt;/td&gt;
&lt;td&gt;同一弹窗，主子表同框编辑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;工单+工序&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主子表-内嵌模式&lt;/td&gt;
&lt;td&gt;列表内直接展开子表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;采购订单+明细&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主子表-ERP 模式&lt;/td&gt;
&lt;td&gt;主子表独立列表，独立表单&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;部门树/分类树&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;树形表模式&lt;/td&gt;
&lt;td&gt;自动生成树形表格&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;移动端页面&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;uni-app 模式&lt;/td&gt;
&lt;td&gt;生成适配 H5/小程序的页面&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="三种主子表生成模式"&gt;三种主子表生成模式&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 标准模式["模式一：标准模式"]
S1["主表列表页"]
S2["点击新增 → 弹窗"]
S3["弹窗内：主表表单 + 子表表格&lt;br/&gt;在同一弹窗中编辑"]
S1 --&gt; S2 --&gt; S3
end
subgraph 内嵌模式["模式二：内嵌模式"]
I1["主表列表页"]
I2["展开行 → 内嵌子表&lt;br/&gt;主表行下方直接显示子表"]
I1 --&gt; I2
end
subgraph ERP模式["模式三：ERP 模式"]
E1["主表独立列表"]
E2["子表独立列表&lt;br/&gt;（通过主表 ID 关联）"]
E3["主表独立表单"]
E4["子表独立表单"]
E1 --&gt; E2
E3 --&gt; E4
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="各模式适用场景"&gt;各模式适用场景&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模式&lt;/th&gt;
&lt;th&gt;适用场景&lt;/th&gt;
&lt;th&gt;用户体验&lt;/th&gt;
&lt;th&gt;代表业务&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;标准模式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主子表数据量小，主表+子表需要一起填写&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐ 操作流畅&lt;/td&gt;
&lt;td&gt;问卷+题目、配置+配置项&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;内嵌模式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;需要快速查看子表数据，不想跳转&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐ 信息密度高&lt;/td&gt;
&lt;td&gt;工单+工序、任务+子任务&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ERP 模式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主子表各有独立业务逻辑，数据量大&lt;/td&gt;
&lt;td&gt;⭐⭐⭐ 灵活度高&lt;/td&gt;
&lt;td&gt;采购订单+明细、销售订单+明细&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="树形表代码生成"&gt;树形表代码生成&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
DEPT["部门表&lt;br/&gt;id / parent_id / name"]
GEN["代码生成器&lt;br/&gt;识别 parent_id 字段"]
OUT["生成树形表格页面&lt;br/&gt;el-tree + 拖拽排序"]
DEPT --&gt; GEN --&gt; OUT
&lt;/div&gt;
&lt;p&gt;支持无限层级，自动生成展开/折叠、拖拽排序、新增子节点等功能。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="uni-app-代码生成"&gt;uni-app 代码生成&lt;/h2&gt;
&lt;p&gt;为移动端生成完整的页面代码，支持：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;列表页面（下拉刷新、上拉加载）&lt;/li&gt;
&lt;li&gt;表单页面&lt;/li&gt;
&lt;li&gt;详情页面&lt;/li&gt;
&lt;li&gt;API 请求封装&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="前端版本支持"&gt;前端版本支持&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;生成目标&lt;/th&gt;
&lt;th style="text-align: center"&gt;Vue3 管理后台&lt;/th&gt;
&lt;th style="text-align: center"&gt;Vben5&lt;/th&gt;
&lt;th style="text-align: center"&gt;Vue2&lt;/th&gt;
&lt;th style="text-align: center"&gt;uni-app&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;单表 CRUD&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;主子表-标准&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;主子表-内嵌&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;主子表-ERP&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;树形表&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="使用流程"&gt;使用流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在数据库中建好表结构&lt;/li&gt;
&lt;li&gt;在「代码生成」菜单中导入表&lt;/li&gt;
&lt;li&gt;配置生成选项（模块名、业务名、类名、生成模式）&lt;/li&gt;
&lt;li&gt;预览并生成代码&lt;/li&gt;
&lt;li&gt;将代码复制到项目中，配置菜单即可使用&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>BPM 工作流</title><link>https://ruoyiplus.com/zh/ruoyi/bpm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/bpm/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;BPM 工作流是企业的「审批中枢」&lt;/strong&gt;——请假、报销、采购、合同、用章……几乎所有需要「多级审批」的场景，都能在这里建模和流转。基于 Flowable 引擎，提供仿钉钉/飞书和 BPMN 双设计器，非技术人员也能上手设计流程。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：告别微信群审批、邮件审批、纸质审批，把审批流程变成结构化的可追溯系统。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;BPM 如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;审批流程靠口头/微信，无记录&lt;/td&gt;
&lt;td&gt;所有审批留痕，可追溯每一步操作&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;审批规则靠人记忆，容易遗漏&lt;/td&gt;
&lt;td&gt;流程模板固化规则，自动路由到正确审批人&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;跨部门审批沟通成本高&lt;/td&gt;
&lt;td&gt;自动流转，无需人工通知&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;审批超时无人跟进&lt;/td&gt;
&lt;td&gt;超时自动提醒，支持自动审批/跳过&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;组织变动导致审批人变化&lt;/td&gt;
&lt;td&gt;审批人按角色/部门动态计算，不写死具体人&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
ADMIN["流程管理员&lt;br/&gt;设计流程模板&lt;br/&gt;部署和发布流程"]
APPLICANT["发起人&lt;br/&gt;提交申请&lt;br/&gt;查看审批进度&lt;br/&gt;撤销申请"]
APPROVER["审批人&lt;br/&gt;审批/驳回/转办/加签&lt;br/&gt;查看待办/已办"]
COPYER["抄送人&lt;br/&gt;接收审批结果通知&lt;br/&gt;无需操作"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="功能协作流程"&gt;功能协作流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant A as 发起人
participant F as 流程引擎
participant P1 as 审批人1（部门主管）
participant P2 as 审批人2（财务经理）
participant B as 业务系统（如 ERP）
A-&gt;&gt;F: 发起流程（如采购申请）
F-&gt;&gt;B: 关联业务数据（采购订单 ID）
F-&gt;&gt;P1: 推送待办任务
P1-&gt;&gt;F: 审批通过
F-&gt;&gt;P2: 推送待办任务
P2-&gt;&gt;F: 审批通过
F-&gt;&gt;B: 回调：流程完成，更新业务状态
F-&gt;&gt;A: 通知：申请已通过
Note over F: 若任一审批人驳回&lt;br/&gt;流程回退到发起人
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="双设计器对比"&gt;双设计器对比&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph SIMPLE["SIMPLE 设计器（仿钉钉/飞书）"]
S1["拖拽式操作"]
S2["适合简单审批链"]
S3["学习成本低"]
S4["非技术人员可用"]
end
subgraph BPMN["BPMN 设计器"]
B1["标准 BPMN 2.0"]
B2["支持复杂分支/并行"]
B3["需要一定学习"]
B4["技术人员使用"]
end
SIMPLE -.-&gt;|复杂场景可升级| BPMN
&lt;/div&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;特性&lt;/th&gt;
&lt;th style="text-align: center"&gt;SIMPLE 设计器&lt;/th&gt;
&lt;th style="text-align: center"&gt;BPMN 设计器&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;上手难度&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐ 极低&lt;/td&gt;
&lt;td style="text-align: center"&gt;⭐⭐⭐ 中等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;适用人群&lt;/td&gt;
&lt;td style="text-align: center"&gt;业务人员、HR、行政&lt;/td&gt;
&lt;td style="text-align: center"&gt;开发人员、流程专家&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;支持节点&lt;/td&gt;
&lt;td style="text-align: center"&gt;审批、抄送、条件分支&lt;/td&gt;
&lt;td style="text-align: center"&gt;全部 BPMN 2.0 节点&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;并行分支&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;包容分支&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;子流程&lt;/td&gt;
&lt;td style="text-align: center"&gt;❌&lt;/td&gt;
&lt;td style="text-align: center"&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="审批操作全景"&gt;审批操作全景&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
审批节点 --&gt;|通过| 下一节点
审批节点 --&gt;|驳回| 退回节点["退回指定节点&lt;br/&gt;或退回到发起人"]
审批节点 --&gt;|转办| 转办人["转给其他人处理&lt;br/&gt;自己不再参与"]
审批节点 --&gt;|委派| 委派人["委派他人处理&lt;br/&gt;处理完回到自己"]
审批节点 --&gt;|加签| 加签人["增加审批人&lt;br/&gt;会签/或签"]
审批节点 --&gt;|减签| 减签人["减少审批人"]
审批节点 --&gt;|终止| 结束节点["流程直接结束&lt;br/&gt;（特殊权限）"]
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="流程控制能力"&gt;流程控制能力&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;控制类型&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;th&gt;典型场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;条件分支&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;根据表单数据走不同审批路径&lt;/td&gt;
&lt;td&gt;金额 &amp;lt; 5000 无需总经理审批&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;并行分支&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;多人同时审批，都通过才继续&lt;/td&gt;
&lt;td&gt;多部门并行会签&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;包容分支&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;多人同时审批，任一通过则继续&lt;/td&gt;
&lt;td&gt;或签场景&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;触发节点&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;自动执行服务任务&lt;/td&gt;
&lt;td&gt;审批通过后自动创建 ERP 单据&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;延迟节点&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;等待指定时间后继续&lt;/td&gt;
&lt;td&gt;合同到期前 7 天提醒&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;超时审批&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;超时自动处理&lt;/td&gt;
&lt;td&gt;48 小时未审批自动通过/拒绝&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;自动提醒&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;定时提醒待办&lt;/td&gt;
&lt;td&gt;每天早上 9 点推送待办汇总&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="与业务系统的集成"&gt;与业务系统的集成&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
BPM["BPM 流程引擎"]
subgraph 集成场景
ERP_APPROVAL["ERP 采购审批&lt;br/&gt;采购订单 → BPM 审批 → 自动入库"]
CRM_APPROVAL["CRM 合同审批&lt;br/&gt;合同草稿 → BPM 审批 → 合同生效"]
OA_APPROVAL["OA 通用审批&lt;br/&gt;请假/报销/用章/外出"]
end
BPM --&gt; ERP_APPROVAL
BPM --&gt; CRM_APPROVAL
BPM --&gt; OA_APPROVAL
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;集成方式&lt;/strong&gt;：业务模块通过 BPM 提供的 API 发起流程、查询审批状态、处理审批回调，无需关心 Flowable 底层细节。&lt;/p&gt;</description></item><item><title>消息队列</title><link>https://ruoyiplus.com/zh/ruoyi/message-queue/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/message-queue/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;消息队列是子系统间异步通信的「中枢神经」&lt;/strong&gt;。当 ERP 出库需要通知 WMS 更新库存、当商城支付成功需要给会员发放积分——这些跨模块的异步协作都通过消息队列完成。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;设计哲学&lt;/strong&gt;：业务代码只依赖 &lt;code&gt;yudao-spring-boot-starter-mq&lt;/code&gt; 抽象接口，切换底层实现只需改一行配置。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="适合什么样的用户"&gt;适合什么样的用户&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;用户画像&lt;/th&gt;
&lt;th&gt;推荐方案&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;开发调试阶段&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Spring Event（默认，零依赖）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;中小型项目&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Redis Stream（持久化，支持消费者组）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;企业级项目&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RabbitMQ（稳定可靠，运维成熟）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;高吞吐场景&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RocketMQ（阿里系，分布式事务）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;大数据场景&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Kafka（日志、埋点、数据管道）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="架构设计"&gt;架构设计&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 业务层["业务代码层（只依赖抽象）"]
P["生产者&lt;br/&gt;MessageProducer.send()"]
C["消费者&lt;br/&gt;MessageConsumer.onMessage()"]
end
subgraph 抽象层["抽象层 yudao-spring-boot-starter-mq"]
API["统一 API&lt;br/&gt;Message / MessageProducer / MessageConsumer"]
end
subgraph 实现层["实现层（五选一）"]
SE["yudao-spring-boot-starter-mq-spring-event&lt;br/&gt;Spring Event（默认）"]
REDIS["yudao-spring-boot-starter-mq-redis&lt;br/&gt;Redis Stream"]
RABBIT["yudao-spring-boot-starter-mq-rabbitmq&lt;br/&gt;RabbitMQ"]
ROCKET["yudao-spring-boot-starter-mq-rocketmq&lt;br/&gt;RocketMQ"]
KAFKA["yudao-spring-boot-starter-mq-kafka&lt;br/&gt;Kafka"]
end
P --&gt; API
C --&gt; API
API --&gt; SE
API --&gt; REDIS
API --&gt; RABBIT
API --&gt; ROCKET
API --&gt; KAFKA
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="五种实现对比"&gt;五种实现对比&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;实现&lt;/th&gt;
&lt;th&gt;持久化&lt;/th&gt;
&lt;th&gt;消费模式&lt;/th&gt;
&lt;th&gt;适用场景&lt;/th&gt;
&lt;th&gt;切换配置&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Spring Event&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;❌ 内存级&lt;/td&gt;
&lt;td&gt;广播&lt;/td&gt;
&lt;td&gt;开发调试&lt;/td&gt;
&lt;td&gt;默认&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Redis Stream&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;集群消费/广播&lt;/td&gt;
&lt;td&gt;中小型项目&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yudao.mq.type=redis&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RabbitMQ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;多种模式&lt;/td&gt;
&lt;td&gt;企业级项目&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yudao.mq.type=rabbitmq&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RocketMQ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;集群/广播/顺序&lt;/td&gt;
&lt;td&gt;高吞吐、事务消息&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yudao.mq.type=rocketmq&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Kafka&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;分区消费&lt;/td&gt;
&lt;td&gt;大数据、日志&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yudao.mq.type=kafka&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="使用示例"&gt;使用示例&lt;/h2&gt;
&lt;h3 id="定义消息"&gt;定义消息&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 1. 定义消息类，实现 Message 接口&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;@Data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;OrderPaidMessage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;orderId&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="发送消息"&gt;发送消息&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;@Resource&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MessageProducer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;messageProducer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;payOrder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;orderId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// 业务处理...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// 发送消息&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;OrderPaidMessage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;OrderPaidMessage&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setOrderId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;orderId&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setUserId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;getCurrentUserId&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setAmount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getAmount&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;messageProducer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="消费消息"&gt;消费消息&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;@Component&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;OrderPaidConsumer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MessageConsumer&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;OrderPaidMessage&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;onMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;OrderPaidMessage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// 发放积分&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;memberService&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addPoints&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getUserId&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getAmount&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// 更新库存&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stockService&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;decreaseStock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getOrderId&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="子系统间的典型消息流"&gt;子系统间的典型消息流&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant MALL as 商城模块
participant MQ as 消息队列
participant WMS as 仓库模块
participant MEMBER as 会员模块
MALL-&gt;&gt;MALL: 用户支付成功
MALL-&gt;&gt;MQ: 发送「订单已支付」消息
MQ-&gt;&gt;WMS: 消费消息 → 扣减库存
MQ-&gt;&gt;MEMBER: 消费消息 → 发放积分
Note over WMS,MEMBER: 两个消费者独立执行，互不影响
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="切换方式"&gt;切换方式&lt;/h2&gt;
&lt;p&gt;只需修改配置文件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 从 Spring Event 切换到 Redis Stream&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;yudao&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;mq&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;redis &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 改成 redis / rabbitmq / rocketmq / kafka&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;无需修改任何业务代码。&lt;/p&gt;</description></item><item><title>Pay 支付中心</title><link>https://ruoyiplus.com/zh/ruoyi/pay/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/pay/</guid><description>&lt;h2 id="核心定位"&gt;核心定位&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pay 支付中心是平台的「统一收银台」&lt;/strong&gt;。商城卖东西要收款、ERP 采购要付款、会员充值要收款——所有这些收付款场景都通过支付中心统一完成，业务模块不需要关心底层是微信支付还是支付宝。&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：对接一次支付中心，所有业务模块都能收付款。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="解决什么问题"&gt;解决什么问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;痛点&lt;/th&gt;
&lt;th&gt;支付中心如何解决&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;每个业务单独对接微信/支付宝&lt;/td&gt;
&lt;td&gt;统一对接一次，所有业务复用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;支付渠道切换需要改业务代码&lt;/td&gt;
&lt;td&gt;渠道变更对业务透明&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;支付回调处理分散&lt;/td&gt;
&lt;td&gt;统一回调 → 分发到各业务模块&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;支付流水无处可查&lt;/td&gt;
&lt;td&gt;支付中心记录所有流水，统一对账&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="用户角色"&gt;用户角色&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
subgraph 角色
DEV["开发者&lt;br/&gt;对接支付 API&lt;br/&gt;处理支付回调"]
ADMIN2["运营/财务&lt;br/&gt;查看支付流水&lt;br/&gt;处理退款&lt;br/&gt;对账"]
ENDUSER["终端用户&lt;br/&gt;发起支付&lt;br/&gt;查看支付结果"]
end
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="架构设计"&gt;架构设计&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 业务层["业务模块（支付调用方）"]
MALL["商城&lt;br/&gt;订单支付"]
ERP2["ERP&lt;br/&gt;采购付款"]
OTHER["其他模块&lt;br/&gt;充值/转账"]
end
subgraph 支付中心["支付中心 yudao-module-pay"]
API_LAYER["API 层&lt;br/&gt;PayOrderApi / PayRefundApi"]
CHANNEL["渠道适配层&lt;br/&gt;PayClient 统一客户端"]
CALLBACK["回调处理层&lt;br/&gt;统一回调 → 分发业务"]
end
subgraph 渠道层["支付渠道"]
WXPAY["微信支付&lt;br/&gt;公众号/小程序/扫码"]
ALIPAY["支付宝&lt;br/&gt;PC/Wap/转账"]
MOCK["模拟支付&lt;br/&gt;开发调试用"]
end
业务层 --&gt; API_LAYER
API_LAYER --&gt; CHANNEL
CHANNEL --&gt; 渠道层
渠道层 --&gt; CALLBACK
CALLBACK --&gt; 业务层
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="支付应用设计"&gt;支付应用设计&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph TB
subgraph 应用隔离
APP1["支付应用：商城订单&lt;br/&gt;回调地址：/mall/order/callback&lt;br/&gt;订单前缀：MALL-"]
APP2["支付应用：ERP 采购&lt;br/&gt;回调地址：/erp/purchase/callback&lt;br/&gt;订单前缀：ERP-"]
APP3["支付应用：会员充值&lt;br/&gt;回调地址：/member/recharge/callback&lt;br/&gt;订单前缀：MBR-"]
end
&lt;/div&gt;
&lt;p&gt;每个业务模块对应一个「支付应用」，拥有独立的回调地址和订单编号前缀，确保支付回调能准确路由到正确的业务处理逻辑。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="支付全流程"&gt;支付全流程&lt;/h2&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
participant U as 用户
participant BIZ as 业务系统（商城）
participant PAY as 支付中心
participant CH as 支付渠道（微信/支付宝）
U-&gt;&gt;BIZ: 提交订单，点击支付
BIZ-&gt;&gt;PAY: 创建支付单 PayOrderApi
PAY-&gt;&gt;CH: 发起支付请求
CH--&gt;&gt;U: 弹出支付页面
U-&gt;&gt;CH: 完成支付（扫码/密码）
CH--&gt;&gt;PAY: 异步回调：支付成功
PAY-&gt;&gt;PAY: 更新支付单状态
PAY-&gt;&gt;BIZ: 回调通知：订单已支付
BIZ-&gt;&gt;BIZ: 更新订单状态
BIZ--&gt;&gt;U: 显示支付成功
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="支持的支付方式"&gt;支持的支付方式&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;渠道&lt;/th&gt;
&lt;th&gt;支付方式&lt;/th&gt;
&lt;th&gt;适用场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;微信支付&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;公众号支付&lt;/td&gt;
&lt;td&gt;微信公众号内 H5 商城&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;微信支付&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;小程序支付&lt;/td&gt;
&lt;td&gt;微信小程序商城&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;微信支付&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;转账&lt;/td&gt;
&lt;td&gt;佣金提现、退款&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;支付宝&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PC 支付&lt;/td&gt;
&lt;td&gt;PC 端商城&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;支付宝&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Wap 支付&lt;/td&gt;
&lt;td&gt;移动端 H5 商城&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;支付宝&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;转账&lt;/td&gt;
&lt;td&gt;佣金提现、退款&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;模拟支付&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;模拟&lt;/td&gt;
&lt;td&gt;开发调试，无需真实账号&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="依赖关系"&gt;依赖关系&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mall 商城 → Pay 支付中心 ← ERP 进销存
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↑
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 系统管理模块（权限）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;商城和 ERP 都依赖支付中心，支付中心依赖系统管理模块提供权限和配置管理。&lt;/p&gt;</description></item><item><title>更新日志</title><link>https://ruoyiplus.com/zh/ruoyi/changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruoyiplus.com/zh/ruoyi/changelog/</guid><description>&lt;h2 id="版本演进"&gt;版本演进&lt;/h2&gt;
&lt;p&gt;RuoYi-Vue-Pro 从 v2.0.0 起步，持续迭代至今，总代码量约 &lt;strong&gt;26 万行&lt;/strong&gt;（源码 16 万行，注释 6 万行，单元测试 1121+ 个）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="v2612025-07-19重点更新"&gt;v2.6.1（2025-07-19）重点更新&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Vben5 + Ant Design 大规模迁移&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;迁移模块&lt;/th&gt;
&lt;th&gt;状态&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BPM 工作流&lt;/td&gt;
&lt;td&gt;✅ 完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CRM 客户管理&lt;/td&gt;
&lt;td&gt;✅ 完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pay 支付中心&lt;/td&gt;
&lt;td&gt;✅ 完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Member 会员中心&lt;/td&gt;
&lt;td&gt;✅ 完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI 大模型&lt;/td&gt;
&lt;td&gt;✅ 完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vben5 + Element Plus 代码生成示例&lt;/td&gt;
&lt;td&gt;✅ 新增&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="月度更新记录"&gt;月度更新记录&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;时间&lt;/th&gt;
&lt;th&gt;主要更新&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2026-05&lt;/td&gt;
&lt;td&gt;系统优化和 Bug 修复&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-04&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-03&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-02&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026-01&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025-12&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025-11&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025-10&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025-09&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025-08&lt;/td&gt;
&lt;td&gt;功能迭代&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025-07&lt;/td&gt;
&lt;td&gt;v2.6.1：Vben5 + Ant Design 大规模迁移&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="技术指标"&gt;技术指标&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;指标&lt;/th&gt;
&lt;th&gt;数值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;总代码行数&lt;/td&gt;
&lt;td&gt;259,995&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;源码行数&lt;/td&gt;
&lt;td&gt;161,332&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;注释行数&lt;/td&gt;
&lt;td&gt;59,755&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;单元测试数&lt;/td&gt;
&lt;td&gt;1,121+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;业务子系统&lt;/td&gt;
&lt;td&gt;14 个&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;数据库表总数&lt;/td&gt;
&lt;td&gt;300+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;支持前端版本&lt;/td&gt;
&lt;td&gt;4 个（Vue3 / Vben5 / Vue2 / uni-app）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>