3.7 KiB
3.7 KiB
项目架构与功能分析报告 (ruoyi-vue-pro)
1. 项目概述
项目名称:ruoyi-vue-pro (芋道) 项目定位:企业级 Java 快速开发平台 核心特点:基于 Spring Boot 多模块架构,提供全套的 SaaS 多租户、工作流、商城、ERP、CRM 等解决方案。代码完全开源(MIT 协议)。
2. 系统架构 (System Architecture)
本项目采用标准的 前后端分离 架构,后端基于 Spring Boot 进行模块化拆分。
2.1 后端架构 (Backend)
- 核心框架:Spring Boot 2.7.18 (JDK 8) / Spring Boot 3.2 (JDK 17/21)
- 模块化设计:
yudao-dependencies: 统一依赖管理 (BOM)。yudao-framework: 框架核心组件(封装了 MyBatis, Redis, Web, Security 等通用逻辑)。yudao-server: 主启动模块,负责组装各个业务模块。yudao-module-*: 独立的业务模块(如 system, infra, bpm, mall 等),模块间通过 API 解耦。
- 数据存储:
- MySQL 5.7/8.0+: 关系型数据库。
- Redis 5/6/7: 缓存与消息队列。
- 中间件:
- Flowable 6.8.0: 工作流引擎。
- Redisson: 分布式锁与缓存客户端。
- SkyWalking: 链路追踪。
- Spring Boot Admin: 服务监控。
2.2 前端架构 (Frontend)
项目提供多种前端实现,适配不同场景:
- 管理后台 (Vue3):
yudao-ui-admin-vue3,基于 Vue 3 + Element Plus + Vite。 - 管理后台 (Vue3 Vben):
yudao-ui-admin-vben,基于 Vue 3 + Ant Design Vue (Vben Admin)。 - 移动端:
yudao-ui-admin-uniapp(管理后台) 和yudao-mall-uniapp(商城),基于 uni-app,支持微信小程序、H5、App。
3. 核心功能 (Core Features)
3.1 通用支撑模块
- 系统功能 (
module-system):- 用户、角色、部门、岗位管理。
- SaaS 多租户:支持多租户数据隔离与套餐管理。
- 权限控制:RBAC 模型,支持菜单、按钮、数据权限。
- OAuth2 单点登录。
- 基础设施 (
module-infra):- 代码生成器:一键生成前后端代码 (CRUD)。
- 文件服务:支持 MinIO, 阿里云, 腾讯云, 七牛云等。
- API 日志与监控:集成 Swagger, SkyWalking, Spring Boot Admin。
- 定时任务、数据库文档生成。
3.2 业务系统模块
- 工作流程 (
module-bpm):- 双设计器:仿钉钉/飞书设计器 (Simple) + BPMN 标准设计器。
- 丰富流程逻辑:会签、或签、依次审批、抄送、驳回、转办、委派、加签/减签。
- 流程表单:拖拽式表单设计。
- 商城系统 (
module-mall):- 完整的 B2C 商城功能:商品、订单、购物车、营销(优惠券、拼团、秒杀)。
- 会员中心:积分、等级、签到。
- 支付系统 (
module-pay):- 聚合支付:对接支付宝、微信支付。
- 支持支付、退款、回调通知。
- ERP 系统 (
module-erp):- 进销存管理:采购、销售、库存、财务。
- CRM 系统 (
module-crm):- 客户关系管理:线索、客户、商机、合同、回款。
- AI 大模型 (
module-ai):- 集成主流大模型能力(聊天、绘画等)。
- 微信开发 (
module-mp):- 公众号管理:粉丝、消息、素材、自动回复。
4. 总结
ruoyi-vue-pro 是一个功能极度丰富、架构成熟的 Java 开源项目。它不仅提供了基础的 RBAC 权限管理,还内置了完整的工作流、商城、ERP 等复杂业务系统,非常适合作为企业级项目的启动脚手架或学习参考。