## 0. 实施范围与新手注释门禁

| 文件 | 文件用途注释 | 实施时必须说明的方法/回调 |
| --- | --- | --- |
| `frontend/tests/login-experience.spec.js` | 可执行的登录体验回归测试 | 每个测试、路由模拟和响应回调须说明“代码作用（白话）/关联文件/关联逻辑（调用链/消息链/数据流）” |
| `frontend/tests/authenticated-test.js` | 已登录测试共用认证模拟 | 如修改模拟方法，说明其对资产页路由守卫的影响 |
| `frontend/img/black_hole.png` | 独立黑洞背景资源 | 不适用方法注释；须核对文件路径和 Git 暂存状态 |
| `frontend/src/modules/auth/LoginView.js` | 现有登录业务页面 | 本变更默认不改；若测试可访问性需要调整，每个新方法须写完整新手注释 |
| `frontend/playwright.config.js` | 本机 Playwright 测试入口 | 如修改启动配置，说明浏览器 → Vite → Mock API 的数据流 |

## 1. 登录体验测试

- [x] 1.1 新建 `login-experience.spec.js`，以默认 Playwright 文件规则实际执行，并使用真实 `code/message/data` 响应信封模拟 `/api/auth/me`、`/api/auth/login`、`/api/auth/logout` 和 `/api/auth/csrf`。
- [x] 1.2 覆盖未登录访问受保护路由跳转 `/login`，并断言后台侧栏不显示。
- [x] 1.3 覆盖普通账号成功登录跳转 `/overview` 且不显示 Jeddy 专属提示。
- [x] 1.4 覆盖 Jeddy 成功登录显示专属欢迎提示，及登录失败保持登录页、恢复按钮状态和显示通用提示。
- [x] 1.5 覆盖登出接口失败时仍然回到 `/login`，防止退出请求错误阻塞前端跳转。

## 2. 背景资源交付

- [x] 2.1 将 `frontend/img/black_hole.png` 加入 Git 暂存区，确认不是被 `.gitignore` 排除的本地临时文件。
- [x] 2.2 在测试中断言登录页存在黑洞背景 CSS 变量或已解析背景 URL，避免页面回退为纯色背景。
- [x] 2.3 执行生产构建，确认 `dist/assets/` 中存在 Vite 输出的黑洞图片资源，且不出现资源路径解析警告。

## 3. 验收

- [x] 3.1 执行 `npm run test:e2e`，输出通过数与失败数；失败时保留错误证据并先分析原因再修复。
- [x] 3.2 执行 `npm run build` 与 `git diff --check`，记录构建结果、既有警告和空白检查结果。
- [x] 3.3 执行一次本机浏览器 smoke：登录页背景、表单占位文字、密码显示按钮、加载状态与窄屏不溢出。
