RuoYi-Vue-Pro 架构总览

平臺定位

RuoYi-Vue-Pro 是一套面向中小團隊和企業的一站式快速開發平臺,全部開源、100% 免費。它的核心價值不是某個單一功能,而是把企業資訊化中最常見的 14 類業務需求預先實現好,並透過統一的許可權體系、訊息佇列、支付中心串聯起來,讓你能在幾周而不是幾個月內交付一個完整的企業系統。

一句話說清楚:如果你需要一個「有後臺管理、有審批流程、有客戶管理、有進銷存、有商城、甚至還有 AI 和物聯網」的系統,RuoYi 是目前開源生態裡覆蓋最全的 Java 技術棧方案。


平臺解決的 5 類企業核心問題

graph LR subgraph 基座 subgraph 問題1["🔧 解決:開發效率低"] A1["程式碼生成器
一鍵生成 CRUD 頁面"] A2["通用後臺能力
使用者/角色/許可權/日誌"] A3["基礎設施
儲存/訊息佇列/運維"] end A1 & A2 & A3 --> 基礎底座 end subgraph 業務流 subgraph 問題2["📋 解決:審批流程混亂"] B1["BPM 工作流
仿釘釘設計器"] B2["ERP 審批
採購/銷售單據審批"] B3["CRM 審批
合同/回款審批"] end B1 & B2 & B3 --> 流程引擎 end subgraph 核心業務 subgraph 問題3["💰 解決:業務運營斷層"] C1["CRM 客戶管理
線索→商機→合同→回款"] C2["Member 會員營銷
活動→等級→優惠券→復購"] C3["ERP 進銷存
採購→庫存→銷售→財務"] C4["Mall 商城
商品→訂單→營銷→分銷"] end C1 & C2 & C3 & C4 --> 業務中臺 end subgraph 垂直業務 subgraph 問題4["🏭 解決:生產製造管理不夠細"] D1["MES 製造執行
工單→報工→質檢"] D2["WMS 倉庫管理
入庫→出庫→盤點"] D3["IoT 物聯網
裝置管理→規則引擎"] end D1 & D2 & D3 --> 製造物聯 end subgraph 創新智慧 subgraph 問題5["🚀 解決:創新場景需求"] E1["AI 大模型
對話/繪畫/知識庫"] E2["IM 即時通訊
私聊/群聊/音影片"] E3["Report 大屏
資料視覺化"] end E1 & E2 & E3 --> 創新賦能 end

子系統協作全景圖

14 個子系統不是孤立的,它們透過統一的許可權認證、訊息佇列和支付中心深度協作。理解下面的關係圖,你就能明白整個平臺是如何「拼」在一起的:

graph LR subgraph 底座層["底座層(必選基礎)"] SYS["系統管理模組
system
使用者/角色/許可權/租戶/部門
🔑 所有模組的許可權來源"] INFRA["基礎設施模組
infra
檔案服務/程式碼生成/WebSocket
📦 所有模組的公共能力"] end subgraph 能力層["能力層(按需開啟)"] BPM["BPM 工作流
📋 提供審批能力
被 ERP/CRM 依賴"] PAY["Pay 支付中心
💳 統一支付能力
被 Mall/ERP 依賴"] MEMBER["Member 會員中心
👤 會員體系
被 Mall 依賴"] MP["MP 公眾號
📱 微信生態
被 Mall/Member 依賴"] end subgraph 業務層["業務層(獨立或組合)"] CRM["CRM 客戶管理
20+ 表"] ERP["ERP 進銷存
30+ 表"] MALL["Mall 商城
70+ 表"] MES["MES 製造執行
133 表"] WMS["WMS 倉庫
16 表"] end subgraph 創新層["創新層(前沿場景)"] AI["AI 大模型"] IOT["IoT 物聯網"] IM["IM 即時通訊
16 表"] REPORT["Report 大屏"] end 底座層 --> BPM 底座層 --> PAY 底座層 --> MEMBER 底座層 --> MP 底座層 --> CRM 底座層 --> ERP 底座層 --> MALL 底座層 --> MES 底座層 --> WMS 底座層 --> AI 底座層 --> IOT 底座層 --> IM 底座層 --> REPORT PAY --> MALL MEMBER --> MALL BPM --> ERP BPM --> CRM

關鍵原則:所有模組共享同一套使用者賬號和許可權體系。開啟某個業務模組後,對應的選單、介面和資料庫表按需啟用,不需要的不載入。


6 大核心協作機制

1. 統一許可權認證——所有模組的「身份證」

sequenceDiagram participant U as 使用者 participant GW as 閘道器/前端 participant SEC as Spring Security participant REDIS as Redis Token participant SYS as 系統管理模組 U->>GW: 登入請求 GW->>SEC: 校驗使用者名稱密碼 SEC->>SYS: 查詢使用者/角色/許可權 SYS-->>SEC: 返回許可權列表 SEC->>REDIS: 儲存 Token + 許可權快取 SEC-->>GW: 返回 Token GW-->>U: 登入成功 Note over U,SYS: 後續所有子系統請求都攜帶 Token U->>GW: 訪問 CRM 頁面 GW->>SEC: 校驗 Token + 許可權 SEC->>REDIS: 查詢許可權快取 REDIS-->>SEC: 該使用者有 CRM 許可權 SEC-->>GW: 放行

這意味著:開箱即用,所有子系統自動共享同一套登入、角色、選單許可權,無需二次整合。

2. 訊息佇列——子系統間的「神經系統」

當 ERP 生成一個銷售出庫單,WMS 需要感知庫存變化、Mall 需要更新可售庫存——訊息佇列就是這些非同步通知的通道。

graph LR subgraph 生產者 P1["ERP 模組
銷售出庫事件"] P2["Mall 模組
訂單支付成功"] P3["CRM 模組
合同簽約完成"] end subgraph MQ["訊息佇列抽象層 yudao-mq"] MQ_IMPL["Spring Event → Redis Stream
→ RabbitMQ → RocketMQ → Kafka
🔁 一行配置切換"] end subgraph 消費者 C1["WMS 模組
更新庫存"] C2["Member 模組
發放積分"] C3["BPM 模組
觸發審批流"] end P1 --> MQ --> C1 P2 --> MQ --> C2 P3 --> MQ --> C3

設計亮點:業務程式碼只依賴 yudao-spring-boot-starter-mq 抽象介面,切換訊息中介軟體只需改一行配置。

3. 支付中心——統一收銀臺

sequenceDiagram participant MALL as 商城 participant ERP as ERP 系統 participant PAY as 支付中心 participant WX as 微信/支付寶 MALL->>PAY: 建立支付單 PayOrderApi PAY->>WX: 發起支付 WX-->>PAY: 支付成功回撥 PAY->>MALL: 回撥通知訂單已支付 PAY-->>PAY: 記錄支付流水 ERP->>PAY: 建立退款單 PayRefundApi PAY->>WX: 發起退款 WX-->>PAY: 退款成功回撥 PAY->>ERP: 回撥通知退款完成

商城、ERP 等所有需要收付款的模組都對接支付中心,渠道差異(微信/支付寶/模擬支付)對業務模組完全透明

4. 工作流引擎——貫穿業務的審批匯流排

graph TB BPM["BPM 工作流引擎
Flowable + 雙設計器"] BPM --> ERP_P["ERP 採購審批
採購訂單 → 主管審批 → 財務審批"] BPM --> ERP_S["ERP 銷售審批
銷售訂單 → 經理審批 → 倉庫確認"] BPM --> CRM_C["CRM 合同審批
合同 → 法務審批 → 總經理審批"] BPM --> OA["通用 OA 審批
請假/報銷/用章"]

ERP、CRM 等涉及審批的業務模組直接整合 BPM 工作流引擎,支援會籤、或籤、駁回、轉辦、加簽等全套審批操作。

5. SaaS 多租戶——一套程式碼服務 N 個客戶

graph TB subgraph COLUMN["方案一:欄位隔離(中小規模)"] C1["所有租戶共享同一資料庫"] C2["每張表加 tenant_id 欄位"] C3["SQL 攔截器自動拼接租戶條件"] C1 --> C2 --> C3 end subgraph DATASOURCE["方案二:資料庫隔離(大規模)"] D1["主庫:共享表(使用者/選單/配置)"] D2["租戶庫 A:業務表"] D3["租戶庫 B:業務表"] D4["租戶庫 C:業務表"] D1 --> D2 D1 --> D3 D1 --> D4 end 使用者請求 --> 路由{租戶規模} 路由 -->|小型 SaaS| COLUMN 路由 -->|大型 SaaS| DATASOURCE

6. 前端路由模組化——程式碼隔離與協作

所有管理後臺前端專案按子系統劃分目錄,互不干擾:

src/views/
  ├── system/     # 系統管理頁面
  ├── infra/      # 基礎設施頁面
  ├── bpm/        # 工作流頁面
  ├── crm/        # 客戶管理頁面
  ├── erp/        # 進銷存頁面
  ├── mall/       # 商城頁面
  └── ...

技術架構全景

graph LR subgraph 前端層["前端層"] VUE3["Vue3 + Element Plus
(主推管理後臺)"] VBEN5["Vben5 + Ant Design / Element Plus
(新一代管理後臺)"] VUE2["Vue2 + Element UI
(經典版)"] UNIAPP["uni-app(Vue3)
移動端/H5/小程式"] VUE2 ~~~ VUE3 ~~~ VBEN5 ~~~ UNIAPP end subgraph 閘道器層 NGINX["Nginx /
Spring Cloud
Gateway"] end subgraph 後端層["後端層 Spring Boot 3.5"] SYS2["系統管理"] BPM2["工作流"] PAY2["支付中心"] CRM2["客戶管理"] ERP2["進銷存"] MALL2["商城"] MES2["製造執行"] AI2["AI 大模型"] SYS2 ~~~ BPM2 ~~~ PAY2 ~~~ CRM2 ~~~ ERP2 ~~~ MALL2 ~~~ MES2 ~~~ AI2 end subgraph 中介軟體層["中介軟體層"] MYSQL["MySQL / Oracle /
PG / 達夢"] TDEngine["TDEngine"] REDIS2["Redis + Redisson"] MQ2["訊息佇列(5 種實現)"] OSS["S3 等檔案儲存"] FLOWABLE["Flowable 流程引擎"] MYSQL ~~~ TDEngine ~~~ REDIS2 ~~~ MQ2 ~~~ OSS ~~~ FLOWABLE end 前端層 --> 閘道器層 閘道器層 --> 後端層 後端層 --> 中介軟體層

14 個子系統能力矩陣

子系統資料庫規模核心解決什麼問題適合誰用
BPM 工作流-審批流程線上化,告別紙質審批和微信群審批任何需要審批的企業
CRM 客戶管理20+ 表銷售全流程管理,防止客戶流失和撞單銷售團隊、貿易公司
ERP 進銷存30+ 表採購/銷售/庫存/財務一體化,告別 Excel 管理商貿企業、製造企業
Mall 商城70+ 表完整的 B2C 電商體系,支援多端和多營銷玩法零售品牌、電商創業者
MES 製造執行133 表車間級生產管理,從工單到報工到質檢全鏈路製造工廠
WMS 倉庫管理16 表通用倉儲管理,出入庫盤庫全流程倉儲企業、物流中心
Pay 支付中心-統一收付款,遮蔽支付渠道差異所有需要收款的業務
Member 會員-會員體系搭建,使用者留存和復購商城、平臺類業務
MP 公眾號-多公眾號統一管理,粉絲訊息自動回覆運營團隊、自媒體
AI 大模型-一站式 AI 能力接入,降低 AI 應用門檻所有對 AI 感興趣的企業
IoT 物聯網-裝置接入、資料採集、遠端控制硬體廠商、智慧製造
IM 即時通訊16 表內建即時通訊,無需整合第三方 SDK平臺類應用、企業內部通訊
Report 大屏-拖拽式資料視覺化,零程式碼做大屏管理層、資料分析師
SaaS 多租戶-一套系統服務多個客戶,獨立隔離SaaS 服務商

按需開啟:靈活的組合方式

所有業務模組預設關閉,透過兩步啟用:

1. 取消 pom.xml 中對應模組的註釋
2. 執行對應模組的 SQL 初始化指令碼

這意味著你可以精確控制系統的功能邊界:

  • 最小啟動:僅系統管理 + 基礎設施 ≈ 一個通用後臺框架
  • 電商場景:系統管理 + 會員 + 支付 + 商城 + 公眾號
  • 製造場景:系統管理 + ERP + WMS + MES + IoT + BPM
  • 全功能:全部 14 個子系統

快速開始

  1. 克隆專案,匯入 IDE(IntelliJ IDEA)
  2. 建立 MySQL 資料庫,執行 sql/mysql/ruoyi-vue-pro.sql
  3. 修改 application-local.yaml 中的資料庫連線資訊
  4. 啟動 YudaoServerApplication 主類
  5. 瀏覽器訪問 http://localhost:48080,預設賬號 admin / admin123

文件導航

左側邊欄按「基礎設施能力 → 業務子系統 → 更新日誌」的順序組織,你可以:

  • 先看 功能列表 瞭解平臺全部功能清單
  • 根據業務需求直接跳到對應子系統
  • 每個子系統文件都包含:核心定位、角色分析、功能協作流程、核心表結構
docs