# 音乐服务后端说明 ## 功能说明 本后端实现了以下功能: 1. **歌曲搜索** - 支持搜索歌曲,结果缓存在内存中(5分钟过期) 2. **播放队列管理** - 支持添加、移除、清空播放队列,队列数据存储在内存中 3. **歌曲详情** - 获取歌曲详情,结果缓存在内存中(10分钟过期) 4. **歌曲播放URL** - 获取歌曲播放链接 ## API接口 ### 1. 搜索歌曲 ``` GET /api/music/search?keywords=关键词&limit=20 ``` ### 2. 获取歌曲详情 ``` GET /api/music/song/:id/detail ``` ### 3. 获取歌曲播放URL ``` GET /api/music/song/:id/url?level=standard ``` ### 4. 获取播放队列 ``` GET /api/music/queue ``` ### 5. 添加到播放队列 ``` POST /api/music/queue/add Body: { "song": { "id": "123", "title": "歌曲名", ... } } ``` ### 6. 播放下一首(从队列取出) ``` POST /api/music/queue/play-next ``` ### 7. 清空队列 ``` POST /api/music/queue/clear ``` ### 8. 从队列移除歌曲 ``` POST /api/music/queue/remove Body: { "songId": "123" } ``` ## 配置 ### 环境变量 - `NETEASE_API_BASE`: 网易云API服务器地址,默认为 `http://localhost:3000` ### 端口 后端服务运行在 `7001` 端口(可在 `src/config/config.default.ts` 中修改) ## 启动 ```bash # 开发模式 npm run dev # 生产模式 npm run build npm start ``` ## 注意事项 1. 所有缓存数据存储在内存中,服务重启后数据会丢失 2. 确保网易云API服务器(api-enhanced)正在运行在 3000 端口 3. 前端需要配置 `VITE_BACKEND_API` 环境变量指向后端地址(默认 `http://localhost:7001`)