# 前端 14p batch 合并卷

> 生成日期: 2026-06-04 · 源文件 3 篇 · 原文 `docs/archive/audits/2026-06-04-frontend-14p/`

## 批次索引

### `audit-frontend-14p-2026-06-04-batch1.md`

# 前端 14 页深审 — Batch 1/3（Dashboard / Servers / Terminal / Files / Push）
## 登记
## Step 3 — 逐文件 H 扫描
### DashboardPage.vue (415)
### ServersPage.vue (477)
### TerminalPage.vue (408)
### FilesPage.vue (38)
### PushPage.vue (106)
## 入口表
## Closure 表
**len(H)=14, Closure=14**
## FINDING

### `audit-frontend-14p-2026-06-04-batch2.md`

# 前端 14 页深审 — Batch 2/3（Scripts / Credentials / Schedules / Retries / Commands）
## 登记
## Step 3 — 逐文件 H
### ScriptsPage.vue (535)
### CredentialsPage.vue (400)
### SchedulesPage.vue (295)
### RetriesPage.vue (191)
### CommandsPage.vue (168)
## Closure 表
**len(H)=15, Closure=15**
## FINDING
无 P0/P1 新 FINDING。

### `audit-frontend-14p-2026-06-04-batch3.md`

# 前端 14 页深审 — Batch 3/3（Alerts / Audit / Settings / Login）
## 登记
## Step 3 — 逐文件 H
### AlertsPage.vue (184)
### AuditPage.vue (154)
### SettingsPage.vue (497)
### LoginPage.vue (244)
## Closure 表
**len(H)=14, Closure=14**
## 14 页汇总
| 页面 | 行数 | 批次 | P0/P1 |
## FINDING

## Closure 摘录（合并）

| H | 行号 | 规则 | 命中 |
| H1 | 237,304-341 | API JWT | GET stats/alerts/audit/servers |
| H2 | 393-397 | WS | useWebSocket 刷新 stats |
| H3 | 383-387 | 路由 | server_id query 跳转 |
| H4 | 268-345 | 错误 | snackbar 非静默 |
| H5 | 405 | 副作用 | bing-wallpaper sync POST |
| H | 行号 | 规则 |
| H1 | 358-390 | CRUD /scripts JWT |
| H2 | 415-419 | exec script_id + server_ids |
| H3 | 463-467 | quick command exec |
| H4 | 527-528 | poll timer cleanup |
| H1 | 142-160 | GET /alert-history 分页+过滤 |
| H2 | 147 | loadStats 失败 snackbar |
