# 音乐播放应用系统

## 项目概述

这是一个功能完整的音乐播放应用系统，包含前后端两部分。系统支持用户注册登录、音乐播放、歌单管理、歌手管理、评论互动等功能，为用户提供全面的音乐体验。

### 系统架构

本项目采用前后端分离架构：
- 前端：基于Vue 3的单页面应用
- 后端：基于Spring Boot的RESTful API服务
- 数据库：MySQL关系型数据库
- 缓存：Redis缓存服务

## 技术栈

### 后端技术栈

- **核心框架**：Spring Boot 3.x
- **ORM框架**：Spring Data JPA + Hibernate
- **安全认证**：Sa-Token
- **数据库**：MySQL 8.x
- **缓存**：Redis
- **API文档**：Knife4j/Swagger
- **文件处理**：自定义文件上传服务

### 前端技术栈

- **核心框架**：Vue 3 (组合式API)
- **构建工具**：Vite
- **状态管理**：Pinia
- **UI组件**：Element Plus
- **路由管理**：Vue Router
- **HTTP请求**：Axios
- **音频处理**：Web Audio API

## 功能模块

### 1. 用户系统

- 用户注册与登录
- 个人信息管理
- 收藏管理（音乐、歌单、歌手）
- 播放历史记录
- 权限控制（普通用户/管理员）

### 2. 音乐播放系统

- 音乐播放、暂停、上一首、下一首
- 播放列表管理
- 播放模式（顺序播放、单曲循环、列表循环）
- 歌词同步显示
- 进度控制与音量调节
- 播放统计

### 3. 音乐管理系统

- 音乐上传与编辑
- 音乐分类管理
- 音乐搜索
- 热门音乐推荐
- 最新音乐展示

### 4. 歌手管理系统

- 歌手信息管理
- 歌手分类
- 歌手音乐关联
- 歌手搜索

### 5. 歌单管理系统

- 歌单创建与编辑
- 歌单分类
- 歌单音乐管理
- 歌单收藏
- 官方推荐歌单

### 6. 评论系统

- 发表评论
- 回复评论
- 评论管理

### 7. 首页推荐系统

- 轮播图展示
- 热门音乐推荐
- 最新音乐展示
- 推荐歌单
- 热门歌手

## 数据模型

### 核心实体

1. **用户(User)**：用户基本信息
2. **音乐(Music)**：音乐信息、文件路径、歌词
3. **歌手(Singer)**：歌手信息
4. **歌单(Playlist)**：歌单信息
5. **评论(Comment)**：评论内容
6. **类型(Type)**：音乐类型、歌手类型、歌单类型
7. **轮播图(Banner)**：首页轮播图

### 核心关系

1. **用户-音乐**：收藏关系、播放历史
2. **用户-歌单**：创建关系、收藏关系
3. **用户-歌手**：收藏关系
4. **音乐-歌手**：多对多关系
5. **音乐-类型**：多对多关系
6. **歌单-音乐**：多对多关系
7. **歌手-类型**：多对一关系
8. **歌单-类型**：多对一关系

## 部署指南

### 环境要求

- JDK 17+
- Node.js 16+
- MySQL 8.x
- Redis 6.x

### 后端部署

1. 配置数据库
   ```sql
   CREATE DATABASE music_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
   ```

2. 修改配置文件
   - 编辑 `music-houduan/src/main/resources/application.yml`
   - 配置数据库连接信息
   - 配置Redis连接信息
   - 配置文件上传路径

3. 构建项目
   ```bash
   cd music-houduan
   mvn clean package -DskipTests
   ```

4. 运行项目
   ```bash
   java -jar target/music-houduan-1.0.0.jar
   ```

### 前端部署

1. 安装依赖
   ```bash
   cd music-qianduan
   npm install
   ```

2. 修改配置
   - 编辑 `.env` 文件，配置API地址

3. 构建项目
   ```bash
   npm run build
   ```

4. 部署静态资源
   - 将 `dist` 目录下的文件部署到Web服务器

## 使用说明

### 管理员账号

- 用户名：admin
- 密码：123456

### 普通用户

- 可以自行注册或使用以下测试账号：
  - 用户名：test
  - 密码：123456

### 基本操作流程

1. **音乐播放**
   - 在首页或音乐列表页选择音乐
   - 点击播放按钮开始播放
   - 使用播放器控制播放进度、音量等

2. **歌单管理**
   - 登录后可创建个人歌单
   - 添加音乐到歌单
   - 收藏其他用户的歌单

3. **音乐上传（管理员）**
   - 登录管理员账号
   - 进入后台管理
   - 上传音乐文件和封面

4. **评论互动**
   - 在音乐、歌单、歌手详情页发表评论
   - 回复其他用户的评论

## 系统截图

(此处可添加系统主要页面的截图)

## 开发团队

- 前端开发：XXX
- 后端开发：XXX
- 产品设计：XXX
- 测试：XXX

## 版权声明

本项目仅用于学习和演示目的，不得用于商业用途。音乐文件版权归原作者所有。

## 联系方式

如有问题或建议，请联系：example@example.com
