Files
2026-04-30 14:34:28 +08:00

90 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`