跳到主要内容

管理接口

GET /cm/admin/announcements​

公告管理列表(含已移除;带 canEdit 权限标记)

权限:管理员。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/admin/announcements' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
itemsout
isSuperis_super
isOwneris_owner

实现定位:backend/cm_server.py:1735。接口参数和返回条件均来自该路由分支。

POST /cm/admin/cache/clear​

管理接口 · /admin/cache/clear

权限:管理员 Bearer;角色、目标用户等级等限制另见校验说明。

请求参数​

位置字段默认/读取方式
JSON bodyscope'aux'(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/cache/clear' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"scope": "<scope>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
clearedcur.rowcount

实现定位:backend/cm_server.py:4791。接口参数和返回条件均来自该路由分支。

GET /cm/admin/clients​

客户端版本:CurrentMusic 与 CurrentMusicX 的版本/大小/发布时间/更新说明/历史/下载数

权限:管理员。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/admin/clients' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
generatedAtint(time.time())
currentcur
cmxcmx

实现定位:backend/cm_server.py:4651。接口参数和返回条件均来自该路由分支。

GET /cm/admin/overview​

管理台概览:总量 + 近30天注册/近14天播放序列 + 角色计数

权限:管理员。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/admin/overview' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
响应体out

实现定位:backend/cm_server.py:4633。接口参数和返回条件均来自该路由分支。

GET /cm/admin/sessions​

全部在线设备(最多 100 台)

权限:管理员。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/admin/sessions' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
sessionscm_db.admin_all_sessions(100)

实现定位:backend/cm_server.py:4787。接口参数和返回条件均来自该路由分支。

GET /cm/admin/traffic​

站点出站流量(需 CM_TRAFFIC_LOG;服务端 20s 缓存)

权限:管理员。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/admin/traffic' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
响应体cm_traffic.snapshot(os.environ.get('CM_TRAFFIC_LOG', ''))

实现定位:backend/cm_server.py:4687。接口参数和返回条件均来自该路由分支。

GET /cm/admin/users​

用户搜索/分页/排序 {query,limit,offset,sort};sort=reg/reg_asc/name/active/sessions/likes/plays/role

权限:管理员。

请求参数​

位置字段默认/读取方式
querylimit20(空值时回退)
queryoffset0(空值时回退)
queryquery''(空值时回退)
querysort'reg'(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'分页参数错误'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/admin/users?query=<query>&sort=<sort>&limit=<limit>&offset=<offset>' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
响应体cm_db.admin_list_users(q.get('query') or '', limit, offset, q.get('sort') or 'reg')

实现定位:backend/cm_server.py:4692。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/admin​

管理接口 · /admin/users/{id}/admin

权限:管理员 Bearer;角色、目标用户等级等限制另见校验说明。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/admin' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/disable​

管理接口 · /admin/users/{id}/disable

权限:管理员 Bearer;角色、目标用户等级等限制另见校验说明。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/disable' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/kick​

管理接口 · /admin/users/{id}/kick

权限:管理员 Bearer;角色、目标用户等级等限制另见校验说明。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/kick' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/owner​

设置 / 取消站长(最高角色,仅站长,至少保留一位)

权限:站长。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/owner' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/password​

管理接口 · /admin/users/{id}/password

权限:管理员 Bearer;角色、目标用户等级等限制另见校验说明。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/password' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/super​

设置 / 取消超级管理员(仅超管/站长,至少保留一位)

权限:超管。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/super' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。

POST /cm/admin/users/{id}/title​

设置 / 清空用户头衔(''=清空;普通管理员不能改超管)

权限:管理员。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodypassword''(空值时回退)
JSON bodytitle''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能对自己执行该操作'
400'密码长度需 6~64 位'
400'至少保留一位站长'
400'至少保留一位超级管理员'
400f'头衔最多 {cm_db.TITLE_MAX} 字'
403'不能对等级更高的账号执行该操作'
403'只有站长可以设置站长'
403'只有超级管理员可以设置超级管理员'
404'用户不存在'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/admin/users/{id}/title' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "password": "<password>", "title": "<title>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
disabledon

HTTP 200

字段取值/生成逻辑
okTrue

HTTP 200

字段取值/生成逻辑
okTrue
kickedcur.rowcount

HTTP 200

字段取值/生成逻辑
okTrue
isAdminon

HTTP 200

字段取值/生成逻辑
okTrue
titlet

HTTP 200

字段取值/生成逻辑
okTrue
isSuperon

HTTP 200

字段取值/生成逻辑
okTrue
isOwneron

实现定位:backend/cm_server.py:4703。接口参数和返回条件均来自该路由分支。