# xuecheng **Repository Path**: WangRuoXv/xuecheng ## Basic Information - **Project Name**: xuecheng - **Description**: 学成在线,就是黑马程序员在B站的网课项目。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-07 - **Last Updated**: 2026-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, SpringSecurity, SpringCloud ## README # 学成在线项目 学成在线是一个基于微服务架构的在线教育平台,提供完整的课程内容管理、媒资管理、教学计划管理等功能。 ## 项目架构 本项目采用多模块Maven构建,主要包括以下模块: ``` xuecheng-parent/ # 父项目管理 ├── xuecheng-base/ # 基础公共模块(工具类、异常处理、通用模型) ├── xuecheng-content/ # 内容服务模块 │ ├── xuecheng-content-api/ # 内容服务API │ ├── xuecheng-content-model/ # 内容服务模型 │ └── xuecheng-content-service/ # 内容服务实现 ├── xuecheng-media/ # 媒资服务模块 │ ├── xuecheng-media-api/ # 媒资服务API │ ├── xuecheng-media-model/ # 媒资服务模型 │ └── xuecheng-media-service/ # 媒资服务实现 ├── xuecheng-system/ # 系统服务模块 │ ├── xuecheng-system-api/ # 系统服务API │ ├── xuecheng-system-model/ # 系统服务模型 │ └── xuecheng-system-service/ # 系统服务实现 └── xuecheng-gateway/ # API网关 ``` ## 核心功能 ### 课程内容管理 - **课程基本信息管理**:创建、修改、删除课程,查询课程列表 - **课程分类管理**:树形分类结构维护 - **教师管理**:课程授课教师添加、修改、删除 - **教学计划管理**:课程章节体系维护,支持拖拽排序 ### 媒资管理 - **文件上传**:支持普通文件上传和大文件分块上传 - **文件处理**:视频转码任务调度(基于XXL-Job) - **媒资存储**:集成MinIO对象存储服务 - **媒资查询**:支持分页条件和审核状态查询 ### 系统配置 - **字典管理**:系统通用数据字典维护 - **跨域配置**:全局CORS跨域支持 - **日期格式化**:LocalDateTime序列化配置 ## 技术栈 | 类别 | 技术 | |------|------| | 框架 | Spring Boot | | ORM | MyBatis Plus | | 对象存储 | MinIO | | 任务调度 | XXL-Job | | API文档 | Swagger2 | | 日志 | Log4j2 | ## 环境要求 - JDK 1.8+ - Maven 3.0+ - MySQL 5.7+ - MinIO(对象存储) ## 快速开始 ### 1. 导入项目 ```bash git clone https://gitee.com/WangRuoXv/xuecheng.git cd xuecheng mvn clean install -DskipTests ``` ### 2. 配置数据库 创建数据库并导入SQL脚本,修改各模块`bootstrap.yml`中的数据库连接配置。 ### 3. 启动服务 按依赖顺序启动各微服务: ```bash # 启动系统服务 cd xuecheng-system/xuecheng-system-api mvn spring-boot:run # 启动内容服务 cd xuecheng-content/xuecheng-content-api mvn spring-boot:run # 启动媒资服务 cd xuecheng-media/xuecheng-media-api mvn spring-boot:run # 启动网关 cd xuecheng-gateway mvn spring-boot:run ``` ## API接口文档 各服务启动后,可通过Swagger访问API文档: - 系统服务:http://localhost:9001/swagger-ui.html - 内容服务:http://localhost:9002/swagger-ui.html - 媒资服务:http://localhost:9003/swagger-ui.html ## 核心接口示例 ### 课程查询 ```http POST /course/list Content-Type: application/json { "pageNo": 1, "pageSize": 10, "courseName": "", "auditStatus": "", "publishStatus": "" } ``` ### 大文件上传 ```http # 1. 检查文件 POST /upload/checkfile?fileMd5=xxx # 2. 上传分块 POST /uplaod/uploadchunk?fileMd5=xxx&chunk=0 # 3. 合并分块 POST /upload/mergechunks?fileMd5=xxx&fileName=test.mp4&chunkTotal=10 ``` ## 项目结构说明 ``` src/ ├── main/ │ ├── java/ │ │ └── com/xuecheng/ │ │ ├── base/ # 基础模块 │ │ │ ├── config/ # 配置类 │ │ │ ├── dto/ # 数据传输对象 │ │ │ ├── exception/ # 异常处理 │ │ │ ├── model/ # 通用模型 │ │ │ └── utils/ # 工具类 │ │ ├── content/ # 内容模块 │ │ ├── media/ # 媒资模块 │ │ └── system/ # 系统模块 │ └── resources/ │ ├── bootstrap.yml # 配置文件 │ └── log4j2-dev.xml # 日志配置 └── test/ # 测试代码 ``` ## License 本项目仅供学习交流使用。