私人漫游
GET /cm/roaming/catalog
私人漫游模式/场景目录(默认、熟悉、探索、拼图 + 场景)
权限:Bearer。
请求模板
将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。
curl --request GET 'https://music.20110208.xyz/cm/roaming/catalog' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'
返回结构
以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。
HTTP 200
| 字段 | 取值/生成逻辑 |
|---|---|
modes | list(ROAMING_MODES) |
scenes | list(ROAMING_SCENES) |
source | 'builtin' |
实现定位:backend/cm_server.py:3883。接口参数和返回条件均来自该路由分支。
POST /cm/roaming/songs
{mode,subMode?,limit?,excludeIds?} 取私人漫游推荐歌曲(账号态,不缓存)
权限:Bearer+网易云绑定。
参数校验与业务错误
| HTTP | 服务端校验说明 |
|---|---|
| 400 | 'limit 参数错误' |
| 400 | '不支持的漫游模式' |
| 400 | '场景模式需要有效的 subMode' |
说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。
请求模板
将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。
curl --request POST 'https://music.20110208.xyz/cm/roaming/songs' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'
返回结构
以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。
HTTP 200
| 字段 | 取值/生成逻辑 |
|---|---|
mode | mode |
subMode | sub_mode |
songs | songs |
count | len(songs) |
实现定位:backend/cm_server.py:3891。接口参数和返回条件均来自该路由分支。
POST /cm/roaming/trash
{id} 将歌曲移入网易云私人漫游垃圾桶
权限:Bearer+网易云绑定。
参数校验与业务错误
| HTTP | 服务端校验说明 |
|---|---|
| 400 | 'id 参数错误' |
| 400 | '缺少歌曲 id' |
| 502 | f'垃圾桶操作失败:{e}' |
| 502 | f"网易云返回错误码 {(d or {}).get('code')}" |
说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。
请求模板
将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。
curl --request POST 'https://music.20110208.xyz/cm/roaming/trash' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'
返回结构
以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。
HTTP 200
| 字段 | 取值/生成逻辑 |
|---|---|
ok | True |
id | ncm_id |
实现定位:backend/cm_server.py:3922。接口参数和返回条件均来自该路由分支。