# 爱观影项目 **Repository Path**: xjie313/love-watching-film-project ## Basic Information - **Project Name**: 爱观影项目 - **Description**: 前后端分离的影视管理平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 影视管理系统 (Movie Management System) ## 项目简介 这是一个基于Spring Boot开发的影视管理系统,主要用于影视资源的管理与权限控制。系统采用前后端分离架构,后端使用Spring Boot + MyBatis Plus + Spring Security等主流技术栈,提供了完善的用户认证、权限管理、影视资源管理等功能。 ## 技术架构 ### 后端技术栈 - **核心框架**: Spring Boot 2.7.6 - **编程语言**: Java 17 - **持久层框架**: MyBatis Plus 3.4.1 - **安全框架**: Spring Security - **数据库**: MySQL 8.0.23 - **缓存**: Redis - **接口文档**: Knife4j 2.0.8 (Swagger增强版) - **JSON处理**: FastJSON 1.2.29 - **JWT**: jjwt 0.7.0 - **对象存储**: 阿里云OSS - **视频点播**: 阿里云VOD - **短信服务**: 阿里云短信服务 - **构建工具**: Maven ### 前端技术栈 - Vue.js - Element UI - Axios - Vue Router ## 项目模块结构 ``` gec-auth (父工程) ├── gec-common (公共模块) │ ├── common-util (通用工具类) │ ├── service-util (服务工具类) │ └── auth-security (认证与安全) ├── gec-model (数据模型模块) └── gec-service-system (系统服务模块) ``` ### 模块详细说明 #### 1. gec-auth (根项目) - Maven聚合项目,管理所有子模块 - 统一管理依赖版本 - 配置Spring Boot父项目 #### 2. gec-common (公共模块) 包含系统通用的功能组件: ##### common-util (通用工具类) - JWT工具类 (JwtHelper) - IP工具类 (IpUtil) - MD5加密工具类 (MD5Helper) - 阿里云OSS工具类 (OssTemplate) - 阿里云VOD工具类 (VodTemplate) - 统一返回结果类 (Result) - 响应工具类 (ResponseUtil) ##### service-util (服务工具类) - MyBatis Plus配置 - Knife4j接口文档配置 - MyBatis Plus自动填充配置 - 全局异常处理 ##### auth-security (认证与安全) - Spring Security配置 - 自定义密码加密器 - Token认证过滤器 - 登录日志管理 #### 3. gec-model (数据模型模块) - 系统基础实体类 (BaseEntity) - 系统实体类 (SysUser, SysRole, SysMenu等) - 查询条件类 (SysUserQueryVo, SysRoleQueryVo等) - 数据传输对象 (DTO) - 视图对象 (VO) #### 4. gec-service-system (系统服务模块) - 用户管理 - 角色管理 - 菜单管理 - 影视分类管理 - 登录日志管理 - 权限分配 - 文件上传 (图片、视频) ## 核心功能 ### 1. 用户认证与授权 - 基于JWT的无状态认证 - Spring Security权限控制 - 用户登录、登出 - 登录日志记录 - 密码加密存储 (MD5) ### 2. 权限管理 - 用户管理 - 角色管理 - 菜单权限管理 - 用户角色分配 - 角色菜单分配 ### 3. 影视管理 - 影视分类管理 - 影视信息管理 - 支持图片上传 (阿里云OSS) - 支持视频上传 (阿里云VOD) ### 4. 系统监控 - 登录日志查询 - 系统访问记录 ## 数据库设计 主要数据表包括: - sys_user (用户表) - sys_role (角色表) - sys_menu (菜单表) - sys_user_role (用户角色关联表) - sys_role_menu (角色菜单关联表) - sys_category (影视分类表) - sys_movie (影视信息表) - sys_login_log (登录日志表) ## 安全设计 1. 使用JWT实现无状态认证 2. Spring Security实现方法级别的权限控制 3. 密码采用MD5加密存储 4. 敏感接口添加权限验证 5. 登录失败次数限制 6. 登录日志记录 ## 部署说明 ### 环境要求 - JDK 17 - MySQL 8.0+ - Redis - Maven 3.6+ ### 配置文件 在[gec-service-system/src/main/resources](file:///E:/items/_03movie/code/back/gec-auth/gec-service-system/src/main/resources)目录下配置: - application-dev.yml (开发环境配置) - application.yml (主配置文件) 需要配置: - 数据库连接 - Redis连接 - 阿里云相关服务(AccessKey, OSS, VOD等) ### 构建与运行 ```bash # 进入项目根目录 cd gec-auth # 清理并编译项目 mvn clean compile # 打包 mvn package # 运行 java -jar gec-service-system/target/gec-service-system-1.0.jar ``` ## API文档 项目集成了Knife4j接口文档工具,启动服务后访问: ``` http://localhost:8080/doc.html ``` ## 项目特点 1. **模块化设计**: 采用Maven多模块结构,便于维护和扩展 2. **权限控制**: 完善的RBAC权限模型,支持细粒度权限控制 3. **安全性**: JWT无状态认证,Spring Security安全框架 4. **扩展性**: 阿里云服务集成,支持海量文件存储 5. **易用性**: 统一返回结果封装,全局异常处理 6. **文档完善**: 集成接口文档,便于前后端协作 ## 开发规范 1. 使用Lombok简化实体类开发 2. 统一使用Result类封装返回结果 3. 异常处理采用全局异常捕获 4. 数据库操作使用MyBatis Plus 5. 日志记录使用SLF4J ## 后续优化方向 1. 添加数据字典功能 2. 实现操作日志记录 3. 添加定时任务处理 4. 集成消息队列 5. 实现分布式部署