# 审计 — 设置页 Telegram 全流程修复 ## 范围 | 文件 | 变更 | |------|------| | `frontend/src/pages/SettingsPage.vue` | persist/save/test/detect、8 NOTIFY 开关、reveal 免密 | | `frontend/src/types/api.ts` | `NOTIFY_TOGGLE_ITEMS` | | `server/api/settings.py` | Webhook 清除、错误详情、reveal 免密 | | `tests/test_settings_telegram.py` | 6 用例 | | `deploy/gate_log.jsonl` | 门控记录(自动生成) | ## Step 3 规则扫描 | H | 规则 | 结论 | |---|------|------| | H1 | 测试/检测前持久化 Token+Chat ID | FIXED — `persistTelegramConfig` | | H2 | getUpdates Webhook 冲突 | FIXED — `deleteWebhook` before poll | | H3 | Telegram API 错误可见 | FIXED — `ok:false` / sendMessage description | | H4 | 8 项 NOTIFY 开关 UI | FIXED — Vue v-switch + PUT | | H5 | reveal 免密(用户确认) | FIXED — JWT + 审计保留 | ## Closure | H | 判定 | 依据 | |---|------|------| | H1–H5 | FIXED | 代码 + pytest 6/6 | ## DoD - [x] pytest `test_settings_telegram.py` 6 passed - [x] changelog / audit - [x] 无不可变 key 变更 ## 验证 `.venv/bin/pytest tests/test_settings_telegram.py -q`