docs: Phase 3 计划评审修复(掩码盖四处响应/权限端点计数与不动清单/推送探测端点/Task7拆四/增量瘦身/嵌入代码data-site/两版对比)
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -22,8 +22,8 @@
|
||||
**Files:**
|
||||
- Modify: `app/platform/routes/config_routes.py`(GET 掩码/PUT 哨兵保留)、`app/platform/routes/tenant_routes.py`(sites/domains 端点 _tenant_guard)、`tests/test_config_api.py`、`tests/test_tenant_admin_api.py`
|
||||
|
||||
- [ ] 失败测试:①GET config 的 push.api_key 已设 → `"__SET__"`、未设 → `""`;②PUT 传 `"__SET__"` → 库值不变(版本照常+1)、传新值 → 覆盖;③平台设置同款;④租户管理员 PATCH 自己租户的站点 → 200(原 403)
|
||||
- [ ] 实现:掩码助手(字段清单常量:push.api_key/ai.api_key/email.smtp.password + 平台设置递归对 key 含 key/password/secret 的值);PUT 侧哨兵替换逻辑(读当前快照还原原值再写版本);sites/domains 五端点 require_super → _tenant_guard(创建租户 POST /tenants 保持仅超管)
|
||||
- [ ] 失败测试:①GET config 的 push.api_key 已设 → `"__SET__"`、未设 → `""`;②PUT 传 `"__SET__"` → 库值不变(版本照常+1)、传新值 → 覆盖;③**GET versions/{n} 与 rollback 响应同样掩码**(spec §5.5"后台读取一律掩码"——防版本详情/回滚确认页成明文旁路;写入侧不受影响,回滚写的仍是库内原值);④平台设置同款;⑤租户管理员 PATCH 自己租户的站点 → 200(原 403)
|
||||
- [ ] 实现:掩码助手(字段清单常量:push.api_key/ai.api_key/email.smtp.password + 平台设置递归对 key 含 key/password/secret 的值),作用于 GET config、GET versions/{n}、rollback 响应、GET/PUT settings 四处响应;PUT 侧哨兵替换逻辑(读当前快照还原原值再写版本);sites/domains **四个端点**(POST sites/PATCH sites/POST domains/DELETE domains)require_super → _tenant_guard;**保持仅超管不动清单:POST /tenants(创建)、GET /tenants(列表)、PATCH /tenants/{slug}(停用/改名——租户不能自停自改)**
|
||||
- [ ] 全量回归 + 提交 `feat: 密钥掩码哨兵(__SET__) + 站点管理权限放开租户管理员`
|
||||
|
||||
### Task 2: 脚手架落地与品牌化
|
||||
@@ -32,7 +32,7 @@
|
||||
- Create: `admin/`(模板落地)
|
||||
|
||||
- [ ] 环境检查:node ≥18、pnpm(缺则 npm i -g pnpm——开发机工具,报告说明)
|
||||
- [ ] 取模板:git clone https://github.com/Daymychen/art-design-pro admin-tmp → 拷入 admin/(去 .git;**只保留 src/配置/依赖清单,删 demo 页/示例数据**——模板结构以实际为准,报告瘦身清单)
|
||||
- [ ] 取模板:git clone https://github.com/Daymychen/art-design-pro admin-tmp → 拷入 admin/(去 .git;**只保留 src/配置/依赖清单,删 demo 页/示例数据**——模板结构以实际为准,报告瘦身清单;**增量瘦身纪律:每删一批就 pnpm build 验证一次再继续**,模板的路由/dynamic import/mock 演示互相牵连,一口气删完失败难定位)
|
||||
- [ ] 品牌化:应用名"all-kefu 管理后台"、logo 占位、中文、去掉模板统计/示例路由;.env.development 配 vite proxy(/api、/static → http://127.0.0.1:8018)
|
||||
- [ ] 路由骨架:login / force-change-password / dashboard / tenants / conversations / config / stats / settings 八个空白页占位 + 菜单(超管全量;租户管理员隐藏 tenants/settings——前端菜单控制,后端已强制)
|
||||
- [ ] 验收:pnpm install + pnpm dev 可起 + 浏览器打开见到骨架;pnpm build 通过
|
||||
@@ -69,14 +69,27 @@
|
||||
- [ ] 站点管理:站点列表/新建(slug/名称/门面覆盖层表单——覆盖字段留空=继承提示)/停用;域名绑定/解绑(撞车错误展示归属)
|
||||
- [ ] 冒烟 + 提交 `feat: 租户管理与站点管理(创建向导/停用/域名/门面覆盖)`
|
||||
|
||||
### Task 7: 配置中心
|
||||
### Task 7a: 配置中心——品牌与嵌入代码
|
||||
|
||||
- [ ] 品牌表单:字段编辑 + **挂件实时预览**(iframe 嵌 widget-test 风格或本地渲染组件——选 iframe 简单)+ **嵌入代码复制块**(script 标签带租户域名;**多站点时带 `data-site` 属性——站点管理页同样提供复制**)+ 头像上传
|
||||
- [ ] 冒烟 + 提交 `feat: 配置中心-品牌(预览/嵌入代码含data-site/头像上传)`
|
||||
|
||||
### Task 7b: 配置中心——提示词与词表试金石
|
||||
|
||||
- [ ] 品牌表单:字段编辑 + **挂件实时预览**(iframe 嵌 widget-test 风格或本地渲染组件——选 iframe 简单)+ **嵌入代码复制块**(script 标签带租户域名)+ 头像上传
|
||||
- [ ] 提示词四件套:markdown textarea(等宽字体)+ `$DEFLECTION_POOL` 注入变量提示 + 大小上限提示 + 保存备注必填
|
||||
- [ ] 词表:结构化表格(价格正则/话术池/触发词/替换句——按 wall.json 结构分组编辑)+ **试金石面板**(句子列表→逐句判定展示)+ 保存前自动跑试金石提示
|
||||
- [ ] 邮件/推送/AI 凭据表单:掩码哨兵交互("已设置,输入覆盖");SMTP 测试按钮(发测试邮件——**后端无此端点,前端先做连通性校验占位或加后端小端点**——选加后端 POST .../email/test,一并实现+测试);推送前缀唯一错误展示
|
||||
- [ ] 版本历史抽屉:列表/回滚(确认框);重置出厂按钮(组级,确认框)
|
||||
- [ ] 冒烟 + 提交 `feat: 配置中心(品牌预览/嵌入代码/提示词/词表试金石/凭据掩码/版本回滚/邮件测试)`
|
||||
- [ ] 冒烟 + 提交 `feat: 配置中心-提示词与词表(markdown编辑/结构化词表/试金石面板)`
|
||||
|
||||
### Task 7c: 配置中心——凭据表单与测试端点(后端先行)
|
||||
|
||||
- [ ] **后端先行**:`POST /api/platform/tenants/{slug}/email/test`(发测试邮件到指定收件人,require_tenant)与 `POST .../push/test`(**连通性探测——只验 URL 可达+鉴权通过,不发真数据**;两者均走 FastAPI 测试纪律,复用 resolve_* 配置)
|
||||
- [ ] 前端:邮件/推送/AI 凭据表单——掩码哨兵交互("已设置,输入覆盖");SMTP 测试按钮(真发测试邮件,收件人输入框);推送探测按钮(结果展示可达/鉴权状态);推送前缀唯一错误展示
|
||||
- [ ] 冒烟 + 提交 `feat: 配置中心-凭据(掩码交互/邮件测试/推送连通性探测)`
|
||||
|
||||
### Task 7d: 配置中心——版本历史与重置
|
||||
|
||||
- [ ] 版本历史抽屉:列表(版本/时间/作者/备注)/ **简版两版对比**(选两版并排 JSON 面板,满足 spec §7.3)/ 回滚(确认框,提示会产生新版本);重置出厂按钮(组级,确认框)
|
||||
- [ ] 冒烟 + 提交 `feat: 配置中心-版本历史(列表/两版对比/回滚/重置出厂)`
|
||||
|
||||
### Task 8: 统计分析
|
||||
|
||||
@@ -95,7 +108,7 @@
|
||||
|
||||
## 显式不做(Phase 3 范围外)
|
||||
|
||||
Docker 两阶段构建与 FastAPI 服务 dist(Phase 4);真实浏览器 E2E 自动化(人工冒烟清单即可——后端 571 测试守 API 行为);提示词沙箱试聊(二期);多语言(中文单语)。
|
||||
Docker 两阶段构建与 FastAPI 服务 dist(Phase 4);真实浏览器 E2E 自动化(人工冒烟清单即可——后端 571 测试守 API 行为);提示词沙箱试聊(二期);多语言(中文单语);推送失败自动告警(二期)。
|
||||
|
||||
## 执行注意
|
||||
|
||||
|
||||
Reference in New Issue
Block a user