玄音云 · 控制台

管理员账号在首次启动时由环境变量 ADMIN_USER / ADMIN_PASSWORD 种子, 口令以 argon2id 哈希入库后不再读取环境变量。 登录限流 5 次/分钟,连续失败锁定 15 分钟;本页不回显任何凭据。

总览

实时

近 7 日同步事务

数据边界:云同步仅存储歌单文本与配置,不存储音频文件;服务端不采集设备指纹。 运营指标全部由同步事务派生,无设备上报通道。第二行是进程观测:请求与延迟取近 2048 次滚动窗口 (/metrics、/healthz 探针不计入),备份龄读 BACKUP_DIR 内最近归档;重启后请求计数清零,长期水位以 Prometheus 抓取为准。

用户与权益

发码器

绑定框含 @ 时按注册邮箱解析为 user_id(查无此人整批不签,400 user_not_found); 不含 @ 时按 user_id 原样绑定,便于线下先发码后交付。绑定不等于发放权益,用户仍需在 App 内兑换。

激活码台账

登记手工收款

订单与对账

epay 通道回调自动发货;金额与订单不符的回调转为 manual_review 且不发货,需人工核对后处置。 手工订单标已付即签发同 sku 激活码。

设备会话

会话以 refresh token 的 jti 为唯一标识(platform / last_seen),不含硬件指纹。 免费档 1 台、Pro 5 台为代码默认,可在「运营参数」调整;吊销后该设备需重新登录。

回收站快照(30 天)

每次 upload_finish 前压入旧集合值;回滚把该快照内容写回用户同步数据(误同步救援)。

公开分享巡查

分享落地页是公开 UGC:本页用于巡查与处置。active 不等于可访问——歌单名显示为「源已删除」时, 落地页已返回 410,无需再撤销。当前契约里撤销权只在服务端(§A.3 仅定义 Admin 撤销); 用户自助撤销链接需要客户端配合改造,尚未立项。

操作审计(留存 180 天)

控制台每一次写操作与登录成功/失败都在这里:谁(actor)、何时、动了什么(action + 对象)、结果、来源 IP。 结果列只记判定值(数量/状态/原因),不含口令、会话与激活码明文——审计表自身可全文检索,不能变成第二份凭据库。 留存 180 天(法定下限六个月),到期由清理作业删除。

修改控制台口令

新口令以 argon2id 哈希入库。改密成功后该账号此前签发的所有控制台会话立即失效; 本页会自动换上服务端返回的新会话,不会把你自己的操作踢出。 首次启动的 ADMIN_PASSWORD 只在库内无账号时种子一次,之后不再以任何方式参与校验。

当前会话

—
会话是无状态签名 JWT(8 小时),没有服务端黑名单: 公用机器上残留的、或被复制走的会话,只能靠递增账号的 token_version 一次性作废。

新建值班账号

新建账号与当前账号完全同权(本版不做角色分级),用于值班交接与休假顶班。 初始口令只经 HTTPS 提交、以 argon2id 哈希入库,任何接口都不回显;请通过安全渠道交付,值班人首次登录后应在「账号安全」改密。 同名账号返回 409 且不会覆盖原口令——建号路径不能变成绕过改密流程的后门。

账号与强制下线

载入中…
每个账号的会话是独立签发的一组 JWT;「强制下线」递增该账号的 token_version, 其此前签发的全部会话立即失效。对自己执行时服务端会返回一枚新会话,本页自动换上,操作者不会掉线。

限额(保存即生效)

最近调整:—
代码默认值载入中…
免费歌单 1–500、设备 1–20;Pro 设备 1–20、歌单 1–500 或留空(不限)。 保存后同步配额与登录设备检查立即按新值判定;JWT 内签发的 dev_max 会在客户端下一次刷新时跟随(≤15 分钟)。 恢复默认只清除本页的四个旋钮,不影响公告/版本等其他配置。

公告 / 版本 / 支持信息

保存后客户端下一次拉取 /v1/config/<name> 即得新值(<5s)。 本层不提供任何音源或插件源内容。

强制更新开关

按产品红线,不提供强制更新白屏能力: 版本提示经 version_android / version_pc 文案下发,旧客户端始终可继续使用本地曲库与播放。

Pro 皮肤包

当前版本 — 体积 — / 256 KB 识别包数 —
保存后 GET /v1/config/themes 立即返回新包,仅 Bearer + plan=pro 可取(free 403)。 结构规则:根为数组或 {packs|themes:[…]};每包 packId|id|key 必填且唯一,最多 100 包;整包 ≤256KB。 此层只下发主题 token JSON,不含音频、插件源或可执行内容。Pro 到期后客户端已下载的包仍可继续使用(客户端红线)。

Token 预览

编辑上方 JSON 后点「刷新预览」。

支付通道状态

开关仅改本进程状态,重启后回到环境变量 EPAY_ENABLED; 关闭后 POST /v1/orders 返回 503,已发码权益与云同步不受影响。

API 契约

完整端点与响应 schema 见 /docs(OpenAPI UI)。 共享契约以《玄音音乐·服务端开发规划》§A.3/§A.4 为权威源。