# 🎵 歌单功能部署指南

## ✨ 新增功能

### 1. 后端 API
- ✅ **POST /api/favorite/add** - 添加歌曲到"我喜欢"
- ✅ **POST /api/favorite/remove** - 从"我喜欢"移除歌曲
- ✅ **GET /api/favorite/list** - 获取"我喜欢"列表
- ✅ **GET /api/favorite/check** - 检查歌曲是否已收藏

### 2. 前端界面
- ✅ 现代化的音乐播放器界面（类似 QQ 音乐风格）
- ✅ 搜索功能
- ✅ "我喜欢"歌单管理
- ✅ 在线播放功能
- ✅ 收藏/取消收藏功能
- ✅ 响应式设计，支持手机和电脑

### 3. 新增文件
- `playlist.go` - 歌单管理后端
- `themes/index.html` - 现代化前端界面
- `files/playlists.json` - 歌单数据存储（自动生成）

---

## 📦 部署步骤

### 第一步：上传更新文件到云服务器

#### 方法 1：通过远程桌面
1. **连接到阿里云服务器**的远程桌面
2. **复制文件** `D:\music-server-update.zip` 到云服务器
3. **解压到** `C:\music-server\MeowEmbeddedMusicServer`

#### 方法 2：通过 PowerShell（本地）
```powershell
# 如果有 SSH 访问权限
scp D:\music-server-update.zip Administrator@你的服务器IP:C:\music-server\
```

### 第二步：在云服务器上部署

**连接到云服务器 PowerShell**，运行：

```powershell
# 1. 进入项目目录
cd C:\music-server\MeowEmbeddedMusicServer

# 2. 停止当前运行的服务器（如果在运行）
# 按 Ctrl+C 停止，或者找到进程并结束
Get-Process | Where-Object {$_.ProcessName -like "*go*"} | Stop-Process -Force

# 3. 解压更新文件（如果使用远程桌面复制的 zip）
Expand-Archive -Path C:\music-server\music-server-update.zip -DestinationPath C:\music-server\MeowEmbeddedMusicServer -Force

# 4. 确认新文件已存在
Test-Path .\playlist.go
Test-Path .\themes\index.html

# 5. 重新编译和运行
go run .
```

### 第三步：测试功能

#### 1. 打开浏览器访问
```
http://你的服务器IP:2233
```

#### 2. 测试流程
1. ✅ 在搜索框输入歌曲名（如：晴天）
2. ✅ 点击"搜索"按钮
3. ✅ 点击"❤️"按钮收藏歌曲
4. ✅ 切换到"我喜欢"标签页
5. ✅ 查看收藏的歌曲
6. ✅ 点击"播放"按钮测试播放
7. ✅ 再次点击"❤️"取消收藏

---

## 🎨 界面预览

### 搜索页面
- 顶部：紫色渐变背景
- 搜索框：支持歌曲名 + 歌手名搜索
- 搜索结果：卡片式显示，包含封面、标题、歌手、时长
- 操作按钮：收藏 ❤️ + 播放 ▶️

### 我喜欢页面
- 显示所有收藏的歌曲
- 支持取消收藏
- 支持直接播放

### 播放器
- 底部固定播放器
- 显示当前播放的歌曲信息
- HTML5 音频播放器，支持进度控制

---

## 📁 数据存储

歌单数据保存在：
```
C:\music-server\MeowEmbeddedMusicServer\files\playlists.json
```

格式示例：
```json
{
  "favorite": {
    "name": "我喜欢",
    "songs": [
      {
        "title": "晴天",
        "artist": "周杰伦",
        "audio_url": "/cache/music/周杰伦-晴天/music.mp3",
        "cover_url": "/cache/music/周杰伦-晴天/cover.jpg",
        "lyric_url": "/cache/music/周杰伦-晴天/lyric.lrc",
        "duration": 267
      }
    ]
  }
}
```

---

## 🔧 常见问题

### Q1: 界面显示不正常？
**A:** 确保 `themes/index.html` 文件已正确上传，浏览器清除缓存后重新访问。

### Q2: 收藏功能不工作？
**A:** 
1. 检查 `playlist.go` 是否已上传
2. 确认服务器已重启
3. 查看服务器日志是否有错误

### Q3: 播放器无法播放？
**A:** 
1. 检查音频文件是否正确缓存
2. 确认防火墙允许端口 2233
3. 查看浏览器控制台是否有错误信息

### Q4: 如何备份收藏数据？
**A:** 定期备份 `files/playlists.json` 文件

---

## 🚀 后续优化建议

### 1. 添加更多歌单
修改 `playlist.go`，支持创建多个自定义歌单

### 2. 歌词滚动显示
在前端添加歌词解析和滚动显示功能

### 3. 播放历史
记录播放历史，方便快速重播

### 4. 推荐系统
根据收藏和播放历史推荐相似音乐

### 5. 用户系统
添加多用户支持，每个用户有独立歌单

---

## 📞 技术支持

如遇问题，请检查：
1. 服务器日志输出
2. 浏览器开发者工具（F12）的控制台
3. 网络请求是否正常

---

**祝您使用愉快！🎵**

