--- title: Checkpoint 2026-09-30 01:20:13 UTC [36f606710b] type: checkpoint permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-01-20-13-utc-36f606710b stable_id: a84bbdd7-2443-4698-8b05-ce9988706fa4 scope: project memory_type: checkpoint project_id: 25464650-ed5d-440e-b362-190f2852d451 usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 status: active revision: 1 request_id: w4-e2e-ready-20260930-0915 created_at: '2026-09-30T01:20:13.296593+00:00' updated_at: '2026-09-30T01:20:13.296593+00:00' tags: - ready-to-merge - W - W4 - feat/w4-e2e --- # 检查点:后台网页 W4 ready-to-merge ## 线 / 任务 - 线:后台网页 W - 任务:W4 联调与 Playwright 端到端 - 分支:`feat/w4-e2e`(已推送 origin,未推 main) - 提交:`b75b679` feat: 管理后台接真实接口并加 Playwright e2e - 工作树:`e:\\code\\NixMsg-wt\\w4` - 基线:`origin/main` = `a22912d` ## 完成内容 - `web/src/api/admin.ts` 改为真实 `/api/admin`(Vite `NIXMSG_PROXY_TARGET` 代理);去掉假登录提示 - 适配 A 线:令牌 id 为 string、talk-password 用 PUT、建群省略空 id、overview 可选 endpoints_self - Vitest 用 `admin-mock.ts` + vi.mock,假登录 admin/adminpassword 仅测内 - Playwright:`e2e/start-stack.mjs` 临时目录 + admin init + listen 127.0.0.1:0 + Vite;主路径登录/开通/注册安全码/建群/seedpending 造 scheduled 投递/令牌创建只显示一次与停用 - `taskfiles/w.yml`、`Taskfile.yml` itest 追加 `w:e2e`;显式 includes.w - DEVIATIONS「后台网页 W」增补 W4,保留其他节;未改 PRD/服务器业务 ## 验证 - pnpm typecheck / lint / vitest:通过 - Playwright e2e:1 passed - `task check`:通过 ## 给下个会话 - 总控可审阅后 ff-only 合并 `feat/w4-e2e` - 标签:ready-to-merge - 勿强推 main;工作树可删