# SUN-cms-video
**Repository Path**: qu_bing/sun-cms-video
## Basic Information
- **Project Name**: SUN-cms-video
- **Description**: 若依springboot 二开快速搭建影视,视频网站的系统,它基于nuxt3、vue3、nestjs,也非常适合二次开发。集成了采集功能,可以快速形成网站并且有很好的SEO,收录快,下载即应用
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2026-01-14
- **Last Updated**: 2026-01-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 若依影视管理系统 RuoYi-TV
**SQL文件在QQ群** : [](https://qm.qq.com/q/rsZhzCCLuM)

### 🎬 基于若依框架的现代化影视内容管理系统
[](LICENSE)
[](https://spring.io/projects/spring-boot)
[](https://vuejs.org/)
[](https://nuxt.com/)
[](https://element-plus.org/)
**一站式影视平台解决方案 | 支持MacCMS采集 | 短视频社交 | 完整会员体系**
---
## 📖 项目简介
RuoYi-TV 是基于若依(RuoYi-Vue)v3.9.0 深度定制开发的影视内容管理系统,为影视平台提供完整的技术解决方案。系统集成了影视资源管理、会员体系、短视频平台、MacCMS资源采集等核心功能,采用前后端分离架构,支持快速部署和二次开发。
### ✨ 核心特性
- 🎬 **完整的影视管理** - 电影/电视剧/综艺/动漫等多类型支持,元数据管理、多播放源、剧集管理
- 👥 **强大的会员系统** - 注册登录、VIP等级、钱包积分、观看历史、收藏评分
- 📹 **短视频平台** - 抖音风格UI、点赞评论、弹幕互动、数据统计
- 🔄 **MacCMS智能采集** - 对接MacCMS资源站,自动采集影视资源,智能去重,定时更新
- 🎨 **现代化界面** - 响应式设计、深色主题、移动端完美适配
- 🔐 **权限管理** - 基于RBAC的细粒度权限控制,支持数据权限
- 📊 **数据分析** - 访问统计、用户行为分析、收入报表
- ⚡ **高性能** - Redis缓存、连接池优化、代码生成器提升开发效率
---
## 🏗️ 技术架构
### 后端技术栈
```
核心框架:Spring Boot 2.5.15
安全框架:Spring Security 5.7.14 + JWT
持久层:MyBatis 3.5.x + PageHelper
数据库:MySQL 5.7+ / 8.0+
缓存:Redis 6.x
连接池:Druid 1.2.x
任务调度:Quartz 2.3.x
HTTP客户端:Apache HttpClient 4.5.13
XML解析:DOM4J 2.1.3 (MacCMS采集)
API文档:Swagger 3.0.0
```
### 前端技术栈
**管理后台 (ruoyi-ui)**
```
框架:Vue 2.6.12
UI组件:Element UI 2.15.14
HTTP库:Axios
路由:Vue Router
```
**用户前端 (ruoyi-app-web)**
```
框架:Nuxt 3.17.0 + Vue 3.5.22
UI组件:Element Plus 2.8.7
状态管理:Pinia 2.1.7
CSS框架:UnoCSS (原子化CSS)
轮播组件:Swiper
```
---
## 📦 功能模块
### 🎯 核心业务模块
#### 1. 影视管理模块 (ruoyi-movie)
```
✅ 基础信息管理
- 标题、别名、海报、评分、简介
- 类型、国家、语言、发行日期
- 导演、编剧、制片人
✅ 视频资源管理
- 多播放源支持(优酷/腾讯/爱奇艺等)
- 多集管理(电视剧/综艺)
- 清晰度切换(蓝光/超清/高清/标清)
✅ 演员职员管理
- 演员信息库
- 角色关联
- 职业分类(演员/导演/编剧等)
✅ 媒体资源
- 剧照管理
- 海报管理
- 花絮图片
✅ 影视分级
- 支持多国分级标准
- G/PG/PG-13/R/NC-17等
✅ 数据统计
- 周访问量统计
- 月访问量统计
- 年访问量统计
```
#### 2. 会员管理模块 (ruoyi-member)
```
✅ 用户管理
- 手机号注册登录
- 个人信息管理
- 头像上传
✅ 钱包系统
- 余额充值
- 消费记录
- 流水明细
- 退款管理
✅ VIP会员
- 等级体系
- 权益管理
- 到期提醒
- 自动续费
✅ 互动功能
- 观看历史(记录播放进度)
- 影视收藏
- 评分评论
- 点赞互动
✅ 订单系统
- 微信支付对接
- 支付宝对接
- 订单查询
- 自动回调
```
#### 3. 短视频模块 (ruoyi-cms)
```
✅ 视频管理
- 视频上传(本地/OSS)
- 封面设置
- 描述编辑
- 隐私控制
✅ 社交互动
- 点赞收藏
- 评论回复
- 弹幕功能
- 分享转发
✅ 数据统计
- 播放量
- 点赞数
- 评论数
- 分享数
✅ 内容管理
- 横幅广告
- 推荐位管理
- 分类标签
```
#### 4. MacCMS采集系统 (ruoyi-collect)
```
✅ 资源站管理
- 添加采集站点
- API接口配置
- 站点状态监控
✅ 类型映射
- 远程类型绑定
- 本地类型对应
- 自动匹配规则
✅ 采集任务
- 手动采集
- 定时采集
- 增量更新
- 全量同步
✅ 智能处理
- 数据去重
- 图片本地化
- 字段映射
- 异常处理
✅ 进度跟踪
- 实时进度
- 成功/失败统计
- 日志记录
- 错误提示
```
### ⚙️ 基础功能模块(继承若依)
```
✅ 系统管理
- 用户管理
- 角色管理
- 菜单管理
- 部门管理
- 岗位管理
- 字典管理
- 参数配置
✅ 系统监控
- 在线用户
- 定时任务
- 数据监控
- 服务监控
- 缓存监控
- 缓存列表
✅ 系统工具
- 表单构建
- 代码生成
- 系统接口(Swagger)
✅ 日志管理
- 操作日志
- 登录日志
```
---
## 🚀 快速开始
### 📋 环境要求
| 软件 | 版本要求 |
|------|---------|
| JDK | 1.8+ |
| MySQL | 5.7+ 或 8.0+ |
| Redis | 6.0+ |
| Node.js | 16+ (推荐 20+) |
| Maven | 3.6+ |
### 📥 1. 下载项目
```bash
git clone https://gitee.com/sun-gongzhu/sun-cms-video.git
cd tv-java-master
```
### 💾 2. 数据库配置
**创建数据库**
```sql
CREATE DATABASE `tv_master` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
**导入数据库脚本**
```bash
# 使用 sql/tv_master.sql 文件
mysql -u root -p tv_master < sql/tv_master.sql
```
**修改数据库连接**
编辑 `ruoyi-admin/src/main/resources/application-druid.yml`:
```yaml
spring:
datasource:
druid:
master:
url: jdbc:mysql://localhost:3306/tv_master?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_password
```
### 🔧 3. Redis配置
编辑 `ruoyi-admin/src/main/resources/application.yml`:
```yaml
spring:
redis:
host: localhost
port: 6379
password: # 如果有密码则填写
database: 0
```
### ▶️ 4. 启动后端
```bash
# 方式1: Maven编译运行
mvn clean package -DskipTests
cd ruoyi-admin/target
java -jar ruoyi-admin.jar
# 方式2: 使用启动脚本 (Linux/Mac)
./ry.sh start
# 方式3: IDE直接运行
# 运行 ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
```
后端启动成功,访问: http://localhost:8080
**Swagger API文档:** http://localhost:8080/swagger-ui/index.html
### 🖥️ 5. 启动管理后台
```bash
cd ruoyi-ui
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
访问地址: http://localhost:80
默认账号: `admin`
默认密码: `admin123`
**生产环境打包:**
```bash
npm run build:prod
```
### 🌐 6. 启动用户前端
```bash
cd ruoyi-app-web
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
访问地址: http://localhost:3000
**生产环境打包:**
```bash
# SSR模式
npm run build
# 静态站点
npm run generate
# 预览构建
npm run preview
```
---
## 📂 项目结构
```
tv-java-master/
├── ruoyi-admin/ # 主应用模块
├── ruoyi-common/ # 公共工具类
├── ruoyi-framework/ # 框架核心
├── ruoyi-system/ # 系统管理模块
├── ruoyi-generator/ # 代码生成器
├── ruoyi-quartz/ # 定时任务
├── ruoyi-movie/ # 影视管理 ⭐
├── ruoyi-member/ # 会员管理 ⭐
├── ruoyi-cms/ # 内容管理(短视频) ⭐
├── ruoyi-basic/ # 基础数据 ⭐
├── ruoyi-collect/ # MacCMS采集 ⭐
├── ruoyi-ui/ # 管理后台前端
└── ruoyi-app-web/ # 用户前端
```
---
## 🎨 界面预览
### 管理后台
影视列表 支持多条件搜索、批量操作 |
影视详情 完整的元数据编辑 |
MacCMS采集 自动化采集影视资源 |
会员管理 用户信息、订单、钱包 |
短视频管理 视频审核、数据统计 |
数据报表 访问统计、收入分析 |
首页 视频轮播、分类推荐
 |
影视详情 信息展示、评分评论
 |
---
## 📚 核心功能详解
### 🔄 MacCMS采集系统
MacCMS采集是本项目的核心亮点功能,支持对接主流MacCMS资源站。
#### 使用流程
**1. 添加采集站点**
- 进入 `采集管理 > 采集站点`
- 点击"新增"填写站点信息
- 站点名称
- API地址(支持XML/JSON)
- 站点标识
- 状态开关
**2. 配置类型绑定**
- 进入 `采集管理 > 类型绑定`
- 选择采集站点
- 建立远程类型与本地栏目的映射关系
- 远程类型ID → 本地栏目
- 支持批量绑定
**3. 创建采集任务**
- 进入 `采集管理 > 采集任务`
- 点击"采集资源"
- 选择采集站点和类型
- 设置采集参数
- 分页参数
- 采集数量
- 是否更新已有数据
**4. 执行采集**
- 点击"开始采集"
- 实时查看采集进度
- 查看成功/失败统计
- 查看详细日志
**5. 定时采集(可选)**
- 配置Quartz定时任务
- 自动执行采集更新
- 邮件/短信通知
#### 技术特性
```
✅ 智能去重 - 根据影视名称+年份自动去重
✅ 图片本地化 - 自动下载并保存到本地/OSS
✅ 字段映射 - 灵活的数据字段映射配置
✅ 异常处理 - 完善的异常捕获和重试机制
✅ 日志记录 - 详细的操作日志便于排查
✅ 进度跟踪 - 实时显示采集进度百分比
```
### 📹 短视频系统
类似抖音的竖屏短视频平台,支持无限滚动和社交互动。
**核心特性:**
- 📤 **视频上传** - 支持本地存储/阿里云OSS/腾讯云COS
- 👍 **社交互动** - 点赞、收藏、评论、弹幕
- 📊 **数据统计** - 播放量、点赞数实时更新
- 🎯 **智能推荐** - 基于用户行为的推荐算法
- 🔒 **隐私控制** - 公开/私密视频设置
### 👥 会员系统
完整的会员体系,支持多种变现方式。
**会员功能:**
```
注册登录
- 手机号注册
- 验证码登录
- 第三方登录(微信/QQ)
VIP体系
- 多级会员等级
- 差异化权益
- 自动续费
- 到期提醒
钱包系统
- 余额充值
- 在线支付(微信/支付宝)
- 消费记录
- 提现功能
积分系统
- 签到积分
- 观看奖励
- 积分兑换
- 积分商城
```
---
## ⚙️ 配置说明
### 后端配置
#### 应用配置 (application.yml)
```yaml
# 端口配置
server:
port: 8080
# Token配置
token:
header: Authorization
secret: abcdefghijklmnopqrstuvwxyz
expireTime: 30 # 分钟
# 文件上传
ruoyi:
profile: D:/ruoyi/uploadPath
# Swagger
swagger:
enabled: true
title: 影视管理系统API
```
#### 数据库配置 (application-druid.yml)
```yaml
spring:
datasource:
druid:
master:
url: jdbc:mysql://localhost:3306/tv_master
username: root
password: password
driver-class-name: com.mysql.cj.jdbc.Driver
```
### 前端配置
#### 用户前端环境变量 (.env)
```bash
# 开发环境
NUXT_PUBLIC_API_BASE=http://localhost:8080
# 生产环境
NUXT_PUBLIC_API_BASE=https://your-api-domain.com
```
#### 网站配置
编辑 `ruoyi-app-web/composables/useSiteConfig.ts`:
```typescript
const config = {
siteName: '您的网站名称',
siteDescription: '您的网站描述',
siteKeywords: '影视,在线观看,电影,电视剧',
icp: '备案号',
contactEmail: 'your@email.com',
logo: '/logo.png'
}
```
---
## 🔨 开发指南
### 代码生成器使用
RuoYi提供了强大的代码生成器,可快速生成CRUD代码。
**使用步骤:**
1. 访问管理后台: `系统工具 > 代码生成`
2. 选择要生成代码的数据表
3. 点击"编辑"配置生成信息
- 模块名称
- 业务名称
- 功能描述
- 作者信息
4. 点击"生成代码"下载代码包
5. 将代码导入到对应模块
**生成内容:**
- Java后端代码(Domain/Mapper/Service/Controller)
- MyBatis XML映射文件
- Vue前端页面
- SQL脚本(菜单权限)
### API接口规范
**请求格式:**
```http
# 列表查询
GET /api/movie/basics/list?pageNum=1&pageSize=10&title=电影名
# 详情查询
GET /api/movie/basics/1
# 新增数据
POST /api/movie/basics
Content-Type: application/json
{
"title": "电影名称",
"poster": "海报URL",
"summary": "简介"
}
# 更新数据
PUT /api/movie/basics
{
"movieBasicsId": 1,
"title": "新名称"
}
# 删除数据
DELETE /api/movie/basics/1
```
**响应格式:**
```json
{
"code": 200,
"msg": "操作成功",
"data": {
"list": [...],
"total": 100
}
}
## 🤝 参与贡献
我们非常欢迎您的贡献!
### 贡献方式
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 提交 Pull Request
### 开发规范
- 遵循阿里巴巴Java开发手册
- 使用ESLint规范前端代码
- 编写清晰的commit信息(推荐使用 [Conventional Commits](https://www.conventionalcommits.org/))
- 添加必要的注释和文档
- 确保代码通过所有测试
## 📄 开源协议
本项目基于 [MIT License](LICENSE) 开源协议
```
MIT License
Copyright (c) 2024 RuoYi-TV
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
---
## 🙏 鸣谢
感谢以下开源项目的支持:
- [RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) - 若依管理系统
- [Spring Boot](https://spring.io/projects/spring-boot) - Java应用框架
- [Vue.js](https://vuejs.org/) - 渐进式JavaScript框架
- [Nuxt](https://nuxt.com/) - Vue全栈框架
- [Element Plus](https://element-plus.org/) - Vue 3组件库
- [Element UI](https://element.eleme.io/) - Vue 2组件库
- [MyBatis](https://mybatis.org/) - 持久层框架
- [Redis](https://redis.io/) - 内存数据库
---
## 📞 联系方式
- 作者: sungz
- 邮箱: 609069312@qq.com
- 项目地址: https://gitee.com/sun-gongzhu/sun-cms-video
---
## ⭐ Star History
如果这个项目对您有帮助,请给我们一个 Star ⭐
**✨ 让影视平台开发变得简单 ✨**
Made with ❤️ by RuoYi-TV Team
[⬆ 回到顶部](#若依影视管理系统-ruoyi-tv)