# 前端 14 页深审 — Batch 3/3（Alerts / Audit / Settings / Login）

**日期**: 2026-06-04  
**标准**: 8 步逐行

## 登记

| # | 文件 | 行数 N | Read 范围 |
|---|------|--------|-----------|
| 1 | `frontend/src/pages/AlertsPage.vue` | 184 | 1–184 全文 |
| 2 | `frontend/src/pages/AuditPage.vue` | 154 | 1–154 全文 |
| 3 | `frontend/src/pages/SettingsPage.vue` | 497 | 1–497 全文 |
| 4 | `frontend/src/pages/LoginPage.vue` | 244 | 1–244 全文 |

**合计 14 页**: Batch1(5) + Batch2(5) + Batch3(4) = 14 ✅

## Step 3 — 逐文件 H

### AlertsPage.vue (184)

| H | 行号 | 规则 |
|---|------|------|
| H1 | 142-160 | GET /alert-history 分页+过滤 |
| H2 | 147 | loadStats 失败 snackbar |

### AuditPage.vue (154)

| H | 行号 | 规则 |
|---|------|------|
| H3 | 131-137 | GET /audit 参数化 filter |
| H4 | 138 | normalizeAuditList |

### SettingsPage.vue (497)

| H | 行号 | 规则 |
|---|------|------|
| H5 | 272-275 | telegram value_set 不返明文 |
| H6 | 434-460 | reveal 需 current_password |
| H7 | 339-359 | 改密 PUT /auth/password |
| H8 | 362-404 | TOTP setup/enable/disable |
| H9 | 475-487 | IP allowlist POST |

### LoginPage.vue (244)

| H | 行号 | 规则 |
|---|------|------|
| H10 | 177 | auth.login 内存 token |
| H11 | 179 | redirect 防开放重定向 `//` |
| H12 | 186-188 | 429 lockout 15min |
| H13 | 102-103 | password ref 非 localStorage |
| H14 | 123 | bing wallpapers 公开 GET |

## Closure 表

| H | 判定 | 依据 |
|---|------|------|
| H1-H2 | SAFE | 只读告警 |
| H3-H4 | SAFE | 只读审计+normalize |
| H5-H9 | SAFE | 敏感 reveal re-auth；TOTP 流程完整 |
| H10-H13 | SAFE | 无持久化密码；redirect 校验 |
| H14 | SAFE | 壁纸 URL 无凭据 |

**len(H)=14, Closure=14**

## 14 页汇总

| 页面 | 行数 | 批次 | P0/P1 |
|------|------|------|-------|
| DashboardPage | 415 | B1 | 0 |
| ServersPage | 477 | B1 | 0 |
| TerminalPage | 408 | B1 | 0 |
| FilesPage | 38 | B1 | 0 |
| PushPage | 106 | B1 | 0 |
| ScriptsPage | 535 | B2 | 0 |
| CredentialsPage | 400 | B2 | 0 |
| SchedulesPage | 295 | B2 | 0 |
| RetriesPage | 191 | B2 | 0 |
| CommandsPage | 168 | B2 | 0 |
| AlertsPage | 184 | B3 | 0 |
| AuditPage | 154 | B3 | 0 |
| SettingsPage | 497 | B3 | 0 |
| LoginPage | 244 | B3 | 0 |
| **合计** | **4112** | **3 批** | **0** |

## FINDING

无 P0/P1 新 FINDING。

## DoD

- [x] 14/14 页全文 Read
- [x] 3 批 Closure 合计 43 H 全对齐
- [x] 4112 行 frontend pages 覆盖完成
