## ADDED Requirements

### Requirement: 登录体验 SHALL 具有可执行端到端覆盖
系统 SHALL 提供由 Playwright 默认测试匹配规则执行的登录体验测试文件；测试 SHALL 不依赖真实数据库、真实密码或外部服务。

#### Scenario: 未登录用户访问受保护路由
- **WHEN** 测试用户直接打开任一受保护业务 Hash 路由且 `/api/auth/me` 返回未认证结果
- **THEN** 路由 SHALL 显示 `/login` 页面，且不展示后台侧栏

#### Scenario: 普通账号成功登录
- **WHEN** 登录接口返回非 Jeddy 的有效用户资料
- **THEN** 页面 SHALL 请求既有登录接口、跳转至 `/overview`，且不显示开发者专属欢迎提示

#### Scenario: Jeddy 成功登录
- **WHEN** 登录接口返回用户名为 `Jeddy` 且角色为 `DEVELOPER` 的有效用户资料
- **THEN** 页面 SHALL 跳转至 `/overview` 并显示“🎉 欢迎系统开发者-BOSS：Jeddy 上线”

#### Scenario: 登录失败
- **WHEN** 登录接口返回非成功响应
- **THEN** 页面 SHALL 保持在登录页、恢复可提交状态，并显示既有通用错误提示

### Requirement: 退出体验 SHALL 不受服务端登出失败阻塞
系统 SHALL 验证退出操作无论登出接口返回成功或失败，均回到 `/login`；该验证不改变现有生产退出业务逻辑。

#### Scenario: 服务端登出失败
- **WHEN** 已登录用户点击退出且 `/api/auth/logout` 返回错误
- **THEN** 前端 SHALL 清空当前身份并导航至 `/login`

### Requirement: 黑洞背景资源 SHALL 随项目可靠交付
登录页 SHALL 使用 `frontend/img/black_hole.png` 作为独立背景资源；生产构建 SHALL 输出对应图片资源，且该文件 SHALL 被纳入版本控制。

#### Scenario: 生产构建包含背景图片
- **WHEN** 在前端目录执行生产构建
- **THEN** 构建输出 SHALL 包含黑洞图片资源，且登录页的背景变量 SHALL 指向由 Vite 处理的图片 URL

#### Scenario: 克隆后的项目加载背景
- **WHEN** 开发者从版本库获取项目并运行前端构建
- **THEN** 不需要手工复制图片，登录页 SHALL 能解析黑洞背景资源
