From dca58f8051b63aec36e63af72ddd761622000b8e Mon Sep 17 00:00:00 2001 From: ila <2+ila@noreply.git.ilapage.cn> Date: Tue, 25 Aug 2026 10:35:47 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E6=88=90=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#46=20=E5=BE=85=E9=AA=8C=E6=94=B6=E5=BD=92=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-%E6%B2%BB%E7%90%86%E9%A1%B5%E9%9D%A2.-.md | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/Task-46-%E4%BA%A4%E4%BB%98%E7%AE%A1%E7%90%86%E7%AB%AF-API-Key-%E6%B2%BB%E7%90%86%E9%A1%B5%E9%9D%A2.-.md b/Task-46-%E4%BA%A4%E4%BB%98%E7%AE%A1%E7%90%86%E7%AB%AF-API-Key-%E6%B2%BB%E7%90%86%E9%A1%B5%E9%9D%A2.-.md index c93d7ed..d48016f 100644 --- a/Task-46-%E4%BA%A4%E4%BB%98%E7%AE%A1%E7%90%86%E7%AB%AF-API-Key-%E6%B2%BB%E7%90%86%E9%A1%B5%E9%9D%A2.-.md +++ b/Task-46-%E4%BA%A4%E4%BB%98%E7%AE%A1%E7%90%86%E7%AB%AF-API-Key-%E6%B2%BB%E7%90%86%E9%A1%B5%E9%9D%A2.-.md @@ -1,44 +1,59 @@ # 46 交付管理端 API Key 治理页面 -> 历史兼容模板:标准任务以 Gitea 工单保存实现、测试、提交和验收证据,不再创建 Wiki 任务归档。仅在用户明确要求专项历史快照时使用本模板。 - -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#3 +- 所属 MVP / 版本:#35 / MVP-2 +- 状态:待验收 - 日期:2026-08-25 - Gitea 工单:https://git.ilapage.cn/OPC/chorus/issues/46 -- Wiki 页面:Task-46-交付管理端-API-Key-治理页面 -- Wiki revision:见本地镜像头 +- 实现提交:`d59c340` ## 背景与目标 - +按已确认的 #37 v1 原型,在 go-admin-ui 提供 API 密钥元数据列表、筛选、分页、详情安全事件和管理员撤销交互。管理端不能显示、缓存或拼接完整用户密钥,也不提供代用户创建密钥的能力。 ## 最终方案 - +- 复用 `000006` 已建立并由 `000007` 中文化的“Chorus 运营 → API 密钥”菜单、角色与 Casbin 权限,不增加迁移。 +- 列表使用 #45 的服务端分页与关键词/状态筛选契约,仅渲染用户、名称、固定前缀、状态和时间元数据。 +- 详情只展示单条元数据及最近 20 条安全事件;审计摘要通过前端固定字段白名单再次约束。 +- 有效密钥可执行撤销,操作前二次确认,成功后刷新列表;后端保持幂等。 +- 加载、空结果、错误和无权限使用独立状态;表格在窄屏内滚动,工具栏按现有 Chorus 管理页面规范响应式换行。 +- 请求并发使用序号防止较旧响应覆盖新筛选或新详情。 -## 修改文件 +## 修改范围 -- `<文件>`:<改动说明> +- `admin-ui/src/api/chorus/index.js`:增加列表、详情和撤销 API 封装。 +- `admin-ui/src/views/chorus/api-keys/`:治理页面与安全显示辅助函数。 +- `admin-ui/tests/unit/chorus/`:分页、摘要白名单、敏感字段与中文标题回归。 +- Local-Development-and-Verification Wiki 及镜像:增加管理员操作和验证说明。 ## 验收结果 | 验收标准 | 结果 | |---|---| -| | 通过 / 未通过 | +| 列表和详情不包含完整 Key,只显示前缀、状态和元数据 | 通过源码约束、单测与 #45 后端契约测试 | +| 撤销确认与成功/失败反馈 | 已实现,待浏览器人工确认 | +| 权限、空态和错误态 | 已实现,待浏览器人工确认 | +| 375/768/1024/1440 无页面溢出 | 未验证:当前浏览器运行环境无可用实例 | +| admin-ui 单测与构建 | 通过 | +| 浏览器 E2E | 未验证:当前浏览器运行环境无可用实例 | ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: +- `corepack pnpm lint`:通过,只有仓库既有 98 条 warning,无 error。 +- `corepack pnpm exec vue-cli-service test:unit --runInBand`:14 suites、49 tests 全部通过。 +- 临时设置 `NODE_OPTIONS=--max-old-space-size=4096` 后 `corepack pnpm build:prod`:通过;保留既有 Sass、codemirror 和包体积 warning。 +- `python dev_scripts/harness.py check --strict`:通过。 +- `python -m unittest discover -s tests -v`:43 项通过。 +- `python dev_scripts/harness.py sync --check`:通过。 +- Supervisor `chorus-admin-ui` 已重启且 HTTP 200;管理 API 未认证请求返回 JSON 业务码 401。 +- 未验证部分:当前无可用浏览器实例,受保护环境文件也未提供管理端登录凭据,未执行登录态交互、四视口截图或真实撤销。未调用真实 Provider,未修改或撤销现有用户密钥。 -## 遗留问题 +## 文档 - +- Local-Development-and-Verification revision:`31061a29cf4b73dee02b01d2bccd4a333c1abe2a` ## 相关提交 -- `<提交哈希>` <提交说明> +- `d59c340` feat: 交付管理端 API 密钥治理页面 (#46)