diff --git a/CLAUDE.md b/CLAUDE.md index e35b840..168af25 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,5 +38,7 @@ - 服务端永远不把 Cookie 原文返回前端;`relFile` 等路径一律用 `/` - 传给 TrackList 的数组必须稳定(用 computed),否则每次渲染都会清空选择 - 前端 `ref` 的接口要返回对象包一层(Koa 对 `null` body 返回 204) +- QQ 登录在 `qq/login.ts`:扫码 = ptlogin2 → graph.qq.com OAuth → `QQConnectLogin.QQLogin`;续期 = `music.login.LoginServer.Login`(网页 Cookie 没有 refresh_key 也能续期,旧 key 不会失效)。`accounts.ts` 的 keeper 每 3 小时检查,过半寿命(key 有效 3 天)即续期。有效性必须用 `GetLoginUserInfo` 判断 —— `vip_login_base` 对失效 key 仍返回 code 0 +- NAS 部署:宿主机文件是 0700,镜像里必须 `chmod -R a+rX /app`;境外请求靠 `NODE_USE_ENV_PROXY` + `HTTP(S)_PROXY`,`NO_PROXY` 覆盖 QQ / 网易云域名 - TypeScript 固定 6.x:TS 7 没有 JS API,vue-tsc 无法使用 - 网易云红 / QQ 绿已用 dataviz 校验器验证(深色 QQ 绿 `#42a07d`);二者 CVD 区分度在 6–8,必须配合文字标签使用 diff --git a/README.md b/README.md index 803896c..ecc7e9e 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - **试听**:服务端代理 320K 音源,底部播放条带滚动歌词;曲库与队列中的本地文件也可直接播放 - **曲库**:浏览音乐目录(封面墙)、生成 M3U、打包 ZIP、移入回收站、批量补全标签与歌词 - **历史**:统计(累计、占用、近 30 天、来源与音质分布)、搜索筛选、导出 CSV / JSON -- **设置**:QQ 账号(导入 Cookie、VIP 状态校验)、下载默认值、并发与间隔、访问密码、浅色 / 深色 +- **设置**:QQ 账号(扫码登录 / 导入 Cookie、VIP 校验、musickey 自动续期)、下载默认值、并发与间隔、访问密码、浅色 / 深色 ## 本机运行 @@ -58,11 +58,16 @@ npm start # http://localhost:8066 ## Docker 部署(NAS) ```bash -cd /vol1/1000/dockercompose && git clone <私有仓库地址> shengxia && cd shengxia +cd /vol1/1000/dockercompose && git clone https://git.draws.qzz.io/jocay/music-hub.git shengxia && cd shengxia docker compose up -d --build # http://NAS:8066 ``` -挂载与端口见 `docker-compose.yml` / `.env.example`。容器以 `PUID:PGID`(默认 `1000:1001`)运行。QQ Cookie 可在设置页导入,或设置 `QQ_COOKIE_FILE` 并挂载该文件。 +更新:`git pull && docker compose up -d --build`(以 root 操作 jocay 的仓库时加 `git -c safe.directory=$PWD pull`)。 + +- 挂载与端口见 `docker-compose.yml` / `.env.example`;容器以 `PUID:PGID`(默认 `1000:1001`)运行 +- 构建时 Alpine 走腾讯云源、npm 走 npmmirror(阿里云 Alpine 源在 NAS 容器内极慢) +- 运行时 chksz 等境外接口经 `OUTBOUND_PROXY`(默认 `http://192.168.31.8:6152`)访问,QQ / 网易云及其 CDN 直连 —— NAS 直连 Cloudflare 会卡 3–15 秒 +- QQ 音乐:网页「设置 → 扫码登录」,之后 musickey 自动续期 ## 进度 @@ -71,5 +76,5 @@ docker compose up -d --build # http://NAS:8066 - [x] P2 QQ 音乐 provider(VIP Cookie) - [x] P3 下载队列、SSE 实时进度、设置、访问密码、曲库与历史接口 - [x] P4 完整前端 -- [ ] P5 QQ 扫码登录与 Cookie 自动续期 -- [ ] P6 NAS 部署验证 +- [x] P5 QQ 扫码登录与 musickey 自动续期 +- [x] P6 NAS 部署(飞牛 `/vol1/1000/dockercompose/shengxia`)