# Metadata Services 这个目录用来管理 `MusicWorkshop` 的第三方元数据代理,不改主项目前后端代码。 当前默认地址: - 网易云:`http://127.0.0.1:3000` - QQ:`http://127.0.0.1:3300` 这两个地址与后端默认配置保持一致,可直接填到设置页的 `metadata.netease` 和 `metadata.qq`。 ## 目录说明 ```text services/metadata/ README.md versions.lock config/services.env.example scripts/ src/ # 第三方源码,已加入 .gitignore ``` 运行时日志和 PID 会写到: ```text .dev-runtime/metadata/ ``` ## 初始化 先按需复制一份本地覆盖配置: ```bash cd /home/liumangmang/GiteaRepos/LiuMangMang/MusicWorkshop/services/metadata cp config/services.env.example .env.local ``` 然后执行初始化: ```bash ./scripts/bootstrap.sh ``` 它会: - 在 `src/netease-api/` 准备一个本地 npm 工作区,并固定安装 `NeteaseCloudMusicApi` - 拉取 QQ 的第三方源码到 `src/qq-music-api/` - 将 QQ 固定到 `versions.lock` 中的 revision - 安装各自依赖 - 为 QQ 服务补一个最小端口兼容补丁(仅当上游仍写死 `3200` 时) - 为 QQ 服务补一个 `/search` 兼容层,让返回结构对齐 `MusicWorkshop` 当前后端解析逻辑 如果 `src/qq-music-api/` 里已经存在你自己的工作区,`bootstrap.sh` 会保留现状,只提示当前 revision 和锁定 revision 是否一致。 ## 启动与停止 启动: ```bash ./scripts/start.sh ``` 查看状态: ```bash ./scripts/status.sh ``` 停止: ```bash ./scripts/stop.sh ``` ## 设置页填写 在 MusicWorkshop 设置页中填: - 网易云音乐 API:`http://127.0.0.1:3000` - QQ 音乐 API:`http://127.0.0.1:3300` 保存后,前端会从“尚未检测”进入实际探测状态。 ## 上游来源 - 网易云默认使用 npm 包 `NeteaseCloudMusicApi`,因为 GitHub 归档仓库主分支已被清空,只保留版权说明 - QQ 默认使用 `Rain120/qq-music-api` 的固定 revision,因为当前后端已经兼容它的 `data.song.list` / `result.list` 如果你要切换到自己的 fork,只需要改 `.env.local` 里的源类型和对应的 `*_REPO_URL` / `*_REF`。