feat(admin): connect authenticated problem maintenance console

This commit is contained in:
2026-10-12 02:33:15 +08:00
parent 5366418881
commit 835df6b7e7
12 changed files with 1065 additions and 268 deletions
+12
View File
@@ -46,3 +46,15 @@ POST前先保存 UUID,双击共用请求,网络超时/刷新重试复用原
运行指标仅来自完整持久化报告,null显示“—”;诊断和源码按纯文本显示。
`pnpm test` 覆盖草稿、幂等重试、轮询期限/隐藏/终态/失效响应和401处理,
已纳入 `make check-frontend`;真实浏览器编译/判题另在受限独立 VM 验收。
管理入口 `/admin/index.html#/problems` 共用同源 Cookie、CSRF 与实时权限 API。
`admin/` 管理路由和维护页面,`api/adminProblems.ts` 使用生成 DTO;普通用户进入明确
403 页,权限失效或离页终止请求。题目、版本历史、本人导入和审计采用服务端游标分页。
题包只接受有界单层 ZIP,导入 UUID 在上传前绑定当前账号、SHA-256 和字节数。
浏览器只持久保存 UUID/摘要等重试信息,不保存文件正文、密码或管理员能力。
状态查询每 2 秒一次,最多 90 次/3 分钟;错误、终态、离页停止,可核对原操作。
发布、下架和恢复使用独立稳定 UUID 与版本/状态前置条件;409 后重新读取当前状态,
网络不确定时核对原回执。候选题面、公开样例与预算按安全文本预览,隐藏工件不下发。
发布产生新不可变版本;下架的受理任务与本人历史保留。其他管理业务区明确未实现。
事件测试验证本地凭据与生命周期,不代替独立 VM 中的真实 Cookie/HTTP/浏览器验收。