# 管理员视频渠道绑定验收记录 日期:2026-07-24 ## 自动化验证 - `go test ./controller -run '^TestAdmin(Set|Get)UserVideoChannelBindings' -count=1`:通过。 - GET 只返回用户的具体 Token 分组,不含 `auto`,且不泄露渠道密钥。 - PUT 可切换 Seedance 渠道;省略的家族绑定被清空。 - 拒绝非用户分组、`auto`、错误家族、跨分组、禁用渠道和重复绑定;失败不改变原绑定。 - 仅覆盖当前 Token 分组,历史 `legacy` 分组的绑定保持不变。 - `go test ./...`:通过。 - `cd web; bun run build`:通过。保留项目既有的循环分包与大包告警。 ## 手工验收步骤 1. 用管理员身份打开“用户管理”,编辑一个同时拥有 `default`、`vip` 和 `auto` Token 的用户。 2. 在“视频渠道绑定”卡片中点击“配置视频渠道”。确认只出现 `default`、`vip`,每个分组显示 Seedance 和 Kling。 3. 为 `default / Seedance` 选择一个候选渠道并保存;重新打开弹窗,确认选择仍在。 4. 清空 `default / Seedance` 并保存;重新打开弹窗,确认显示“未绑定”。 5. 使用该用户 `default` Token 发起对应 Seedance 请求:有绑定时命中指定渠道;清空后恢复既有自动选择。 6. 准备一个无任何 Seedance/Kling 候选渠道的 Token group,确认整个 group 不显示。 7. 准备一个只有 Seedance 候选渠道的 Token group,确认显示该 group 和 Seedance,但不显示 Kling。 8. 当所有具体 Token group 均无候选渠道时,确认弹窗显示“该用户当前 Token 分组没有可用的视频渠道”。 记录请求时只保存用户 ID、Token group、模型、渠道 ID 和 HTTP 状态,禁止保存 Token、渠道 Key、AK/SK 或签名 URL。 ## 已知验证限制 `bun run i18n:extract`、`bun run i18n:sync` 与 `bun run i18n:lint` 当前均因依赖版本不匹配失败:`react-i18next` 请求 `i18next.keyFromSelector`,但安装的 `i18next` 未导出该符号。新增中英文键已手动同步,生产构建已验证通过。