# VocationalTrainingNetworkPlatform **Repository Path**: csshuo/vocational-training-network-platform ## Basic Information - **Project Name**: VocationalTrainingNetworkPlatform - **Description**: 在线学习平台,包含职业等级认定和课程售卖 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-02 - **Last Updated**: 2026-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RuoYi-Vue-Plus 模块说明书 ## 项目概述 RuoYi-Vue-Plus 是一个基于 Spring Boot 3.5 和 Vue 3 开发的企业级后台管理系统,是 RuoYi-Vue 的增强版,针对**分布式集群与多租户**场景进行了全方位升级。 - **技术栈**:Spring Boot 3.5、JDK 17/21、Vue 3 + TS + ElementPlus - **核心特性**:多租户支持、分布式架构、工作流引擎、微服务架构 - **设计理念**:插件化 + 扩展包形式,结构解耦,易于扩展 ## 模块结构总览 ``` RuoYi-Vue-Plus/ ├── ruoyi-admin/ # 管理后台模块(系统主入口) ├── ruoyi-common/ # 公共模块(提供各种工具和基础组件) ├── ruoyi-extend/ # 扩展模块(监控和任务调度服务) ├── ruoyi-modules/ # 业务模块(实现具体业务功能) ├── script/ # 脚本模块(部署、配置和初始化脚本) └── MODULES.md # 模块说明书(本文档) ``` ## 模块详细说明 ### 1. ruoyi-admin(管理后台模块) **模块功能**:系统的主入口,负责用户认证、授权和基础管理功能。 **目录结构**: ``` ruoyi-admin/ ├── src/ │ ├── main/ │ │ ├── java/org/dromara/ │ │ │ ├── web/ # Web 相关代码 │ │ │ │ ├── controller/ # 控制器 │ │ │ │ ├── domain/ # 领域模型 │ │ │ │ ├── listener/ # 监听器 │ │ │ │ └── service/ # 服务层 │ │ │ ├── DromaraApplication.java # 应用启动类 │ │ │ └── DromaraServletInitializer.java # Servlet 初始化器 │ │ └── resources/ # 资源文件 │ │ ├── i18n/ # 国际化文件 │ │ ├── application*.yml # 配置文件 │ │ └── banner.txt # 启动 banner │ └── test/ # 测试代码 ├── Dockerfile # Docker 构建文件 └── pom.xml # Maven 配置文件 ``` **核心组件**: - **控制器**: - `AuthController.java`:处理认证相关请求(登录、注册、退出等) - `CaptchaController.java`:验证码生成和验证 - `IndexController.java`:系统首页相关 - **服务层**: - `SysLoginService.java`:登录服务 - `SysRegisterService.java`:注册服务 - `IAuthStrategy.java`:认证策略接口,支持多种认证方式 - `PasswordAuthStrategy.java`:密码认证 - `SmsAuthStrategy.java`:短信认证 - `EmailAuthStrategy.java`:邮箱认证 - `SocialAuthStrategy.java`:社交账号认证 - `XcxAuthStrategy.java`:小程序认证 **关键特性**: - 支持多种认证方式(密码、短信、邮箱、社交账号、小程序) - 多租户登录支持 - 第三方登录集成(基于 JustAuth) - 登录限流保护 - 国际化支持 ### 2. ruoyi-common(公共模块) **模块功能**:提供系统各模块共用的工具类、配置和基础组件。 **子模块结构**: | 子模块 | 功能描述 | 核心组件 | |-------|---------|---------| | ruoyi-common-core | 核心工具类和基础配置 | 常量定义、工具类、异常处理、通用服务接口 | | ruoyi-common-doc | 文档生成相关 | SpringDoc 配置、OpenAPI 处理 | | ruoyi-common-encrypt | 加密相关功能 | API 加密、字段加密、多种加密算法支持 | | ruoyi-common-excel | Excel 导入导出 | 注解驱动、自动合并、字典翻译 | | ruoyi-common-idempotent | 分布式幂等性处理 | 重复提交校验、AOP 实现 | | ruoyi-common-job | 任务调度相关 | SnailJob 配置 | | ruoyi-common-json | JSON 处理 | Jackson 配置、自定义序列化 | | ruoyi-common-log | 日志处理 | 操作日志、登录日志、注解驱动 | | ruoyi-common-mail | 邮件服务 | 邮件发送工具、配置 | | ruoyi-common-mybatis | MyBatis 相关配置 | 数据权限、多租户、分页插件 | | ruoyi-common-oss | 对象存储服务 | Minio 集成、S3 协议支持 | | ruoyi-common-ratelimiter | 分布式限流 | Redis 限流、注解驱动 | | ruoyi-common-redis | Redis 客户端和工具 | Redisson 集成、缓存工具 | | ruoyi-common-satoken | 认证授权框架 | Sa-Token 配置、登录助手 | | ruoyi-common-security | 安全相关功能 | 安全配置、URL 处理 | | ruoyi-common-sensitive | 数据脱敏 | 注解驱动、多种脱敏策略 | | ruoyi-common-sms | 短信服务 | 多厂商支持、配置 | | ruoyi-common-social | 社交登录 | JustAuth 集成、自定义提供商 | | ruoyi-common-sse | Server-Sent Events 支持 | SSE 配置、消息管理 | | ruoyi-common-tenant | 多租户支持 | 租户隔离、租户管理 | | ruoyi-common-translation | 数据翻译 | 注解驱动、多种翻译策略 | | ruoyi-common-web | Web 相关配置 | 过滤器、拦截器、异常处理 | | ruoyi-common-websocket | WebSocket 支持 | WebSocket 配置、消息管理 | **关键特性**: - 插件化设计,各功能模块可独立插拔 - 丰富的工具类,覆盖 90% 的使用场景 - 统一的异常处理和响应格式 - 支持多种数据库和缓存 - 完善的安全特性 ### 3. ruoyi-extend(扩展模块) **模块功能**:提供系统的扩展服务,如监控和任务调度。 **子模块结构**: #### 3.1 ruoyi-monitor-admin(系统监控服务) **功能**:基于 SpringBoot-Admin 实现的系统监控服务,实时监控服务状态。 **核心组件**: - `MonitorAdminApplication.java`:监控服务启动类 - `CustomNotifier.java`:自定义通知器 - `SecurityConfig.java`:安全配置 **关键特性**: - 实时监控服务状态(CPU、内存、磁盘等) - 在线日志查看 - 服务健康检查 - 自定义通知机制 #### 3.2 ruoyi-snailjob-server(分布式任务调度服务) **功能**:基于 SnailJob 实现的分布式任务调度服务,支持集群环境。 **核心组件**: - `SnailJobServerApplication.java`:任务调度服务启动类 **关键特性**: - 天生支持分布式 - 统一的管理中心 - 支持多种数据库 - 支持分片重试、DAG 任务流等高级特性 ### 4. ruoyi-modules(业务模块) **模块功能**:实现系统的具体业务功能。 **子模块结构**: #### 4.1 ruoyi-demo(演示模块) **功能**:提供各种功能的使用示例,包含邮件发送、Redis 缓存、WebSocket 等演示。 **核心组件**: - 各种演示控制器(如 `MailSendController`、`RedisCacheController` 等) - 演示服务和数据模型 **关键特性**: - 提供完整的功能使用示例 - 包含队列、缓存、限流等高级特性演示 - 便于开发者学习和参考 #### 4.2 ruoyi-generator(代码生成器) **功能**:根据数据库表结构一键生成前后端代码,支持多数据源代码生成。 **核心组件**: - `GenController.java`:代码生成控制器 - `GenTableService.java`:代码生成服务 - `GenUtils.java`:代码生成工具 **关键特性**: - 一键生成前后端代码 - 支持多数据源代码生成 - 适配 MyBatis-Plus、SpringDoc 规范化代码 - 支持自定义模板 #### 4.3 ruoyi-job(任务管理模块) **功能**:实现各种定时任务,如支付宝账单、微信账单处理等。 **核心组件**: - 各种任务执行器(如 `AlipayBillTask`、`WechatBillTask` 等) **关键特性**: - 基于 SnailJob 实现 - 支持分布式任务 - 提供任务示例 #### 4.4 ruoyi-system(系统管理模块) **功能**:系统核心管理功能,包括用户、角色、权限、部门等管理。 **核心组件**: - **控制器**:用户、角色、菜单、部门、字典、参数、通知等控制器 - **服务层**:各种管理服务的实现 - **数据模型**:系统各种实体类和数据传输对象 **关键特性**: - **用户管理**:用户的增删改查、分配角色和部门 - **部门管理**:组织机构管理,支持树结构 - **岗位管理**:配置用户所属职务 - **菜单管理**:配置系统菜单、操作权限 - **角色管理**:角色权限分配、数据范围权限 - **字典管理**:维护系统中固定的数据 - **参数管理**:动态配置系统参数 - **通知公告**:系统通知信息发布 - **操作日志**:记录系统操作 - **登录日志**:记录用户登录情况 - **租户管理**:多租户支持 - **客户端管理**:管理系统对接的客户端 #### 4.5 ruoyi-workflow(工作流模块) **功能**:实现工作流管理,支持各种复杂审批流程。 **核心组件**: - **控制器**:流程定义、流程实例、任务管理等控制器 - **服务层**:工作流相关服务实现 - **监听器**:工作流全局监听器 **关键特性**: - 流程定义管理 - 流程实例管理 - 任务管理 - 支持各种复杂审批、转办、委派等功能 - 提供请假流程等示例 ### 5. script(脚本模块) **模块功能**:提供系统部署、配置和初始化脚本。 **目录结构**: ``` script/ ├── bin/ # 执行脚本 ├── docker/ # Docker 配置和编排 ├── leave/ # 工作流示例 └── sql/ # 数据库初始化和更新脚本 ``` **核心组件**: - **bin/ry.bat|ry.sh**:系统启动脚本 - **docker/docker-compose.yml**:Docker 编排配置 - **sql/ry_vue_5.X.sql**:数据库初始化脚本 - **sql/update/**:数据库更新脚本 **关键特性**: - 支持 Docker 编排,一键搭建所有环境 - 提供多种数据库的初始化脚本(MySQL、Oracle、PostgreSQL、SQLServer) - 提供数据库更新脚本,支持版本升级 - 提供工作流示例 ## 技术栈总览 | 分类 | 技术 | 版本 | 说明 | |------|------|------|------| | 基础框架 | Spring Boot | 3.5 | 应用基础框架 | | 开发语言 | Java | 17/21 | 主要开发语言 | | 前端框架 | Vue | 3.x | 前端开发框架 | | 前端语言 | TypeScript | 5.x | 前端类型系统 | | UI 组件库 | Element Plus | 2.x | 前端 UI 组件 | | 权限认证 | Sa-Token | 1.x | 认证授权框架 | | ORM 框架 | MyBatis-Plus | 3.x | 对象关系映射框架 | | 数据库 | MySQL/Oracle/PostgreSQL/SQLServer | - | 关系型数据库 | | 缓存 | Redis | 5-7 | 分布式缓存 | | Redis 客户端 | Redisson | 3.x | Redis 官方推荐客户端 | | 任务调度 | SnailJob | 1.x | 分布式任务调度 | | 工作流 | WarmFlow | 1.x | 工作流引擎 | | 监控 | SpringBoot-Admin | 3.x | 系统监控 | | 文档 | SpringDoc | 2.x | API 文档生成 | | 工具类 | Hutool/Lombok | 5.x | 工具类库 | | 文件存储 | Minio | 8.x | 分布式文件存储 | | 容器 | Undertow | 2.x | 高性能 Web 容器 | ## 部署架构 RuoYi-Vue-Plus 支持多种部署方式,包括: 1. **单机部署**:适用于开发和测试环境 2. **集群部署**:适用于生产环境,支持高可用 3. **Docker 部署**:使用 Docker Compose 一键搭建所有环境 **Docker 部署架构**: - 应用服务:ruoyi-admin - 监控服务:ruoyi-monitor-admin - 任务调度服务:ruoyi-snailjob-server - 数据库:MySQL/Oracle/PostgreSQL/SQLServer - 缓存:Redis - 文件存储:Minio - 反向代理:Nginx ## 核心特性亮点 1. **多租户支持**:内置多租户功能,支持租户隔离和管理 2. **分布式架构**:支持集群部署,提供分布式锁、限流等特性 3. **工作流引擎**:集成工作流引擎,支持复杂审批流程 4. **多种认证方式**:支持密码、短信、邮箱、社交账号、小程序等多种认证方式 5. **多数据库支持**:原生支持 MySQL、Oracle、PostgreSQL、SQLServer 6. **高性能**:采用 Undertow、HikariCP、Redisson 等高性能组件 7. **安全可靠**:提供数据脱敏、加密、认证授权等完善的安全特性 8. **易于开发**:代码生成器可一键生成前后端代码,降低开发成本 9. **丰富的功能**:内置用户管理、角色管理、权限管理、工作流等企业级功能 10. **良好的扩展性**:插件化设计,易于扩展和定制 ## 总结 RuoYi-Vue-Plus 是一个功能强大、架构先进的企业级后台管理系统框架,特别适合需要多租户支持和分布式部署的场景。它不仅提供了丰富的基础功能,还通过插件化设计和扩展包形式,为开发者提供了极大的灵活性和扩展性。 该项目采用了当前主流的技术栈和最佳实践,是学习现代 Java 企业级应用开发的优秀范例,也是构建企业级应用的理想选择。