# 生产验证 — 设置页 Telegram 全流程修复 **日期**:2026-06-07 **版本**:`540a7fc` **环境**:https://api.synaglobal.vip ## 部署 | 项 | 结果 | |----|------| | 门控 | 7/7 PASS | | Push | `2e911dc..540a7fc main` | | 生产升级 | `sudo nx upgrade` 成功 | | 容器 | `nexus-prod-nexus-1` healthy | | `/health` | ok | | `/app/` | HTTP 200 | | 前端 bundle | `SettingsPage-rMrgLXrw.js`(镜像内 vite build) | ## API 冒烟(无 JWT) | 端点 | 期望 | 实测 | |------|------|------| | `POST /api/settings/telegram/test` | 401 | 401 | | `GET /api/settings/telegram/chats` | 401 | 401 | ## 功能变更(需浏览器终验) 1. **保存 Telegram 配置** — Telegram 卡片内独立按钮 2. **检测 Chat ID** — 先 persist Token,getUpdates 前清除 Webhook 3. **发送测试消息** — 先 persist Token + Chat ID,失败时显示 Telegram API 具体错误 4. **8 项告警开关** — CPU/内存/磁盘/恢复/时钟/Redis/MySQL/重启 5. **查看 Bot Token / API Key** — 免二次密码(JWT + 审计) ## 用户终验步骤 1. 打开 https://api.synaglobal.vip/app/#/settings ,**Ctrl+Shift+R** 强制刷新 2. 填写 Bot Token → 向 Bot 发消息 → **检测 Chat ID** → 选择对话 3. **发送测试消息** → 应收 Nexus 测试推送 4. 切换任意告警开关 → 刷新页面确认状态保持 ## 已知限制 - **Layer-3 cron**(`health_monitor.sh`)仍读 `NEXUS_TELEGRAM_*`(`.env.prod`),与 UI 保存的 MySQL 配置独立;应用内告警走 MySQL 热更新即可。 - 生产 DB 若尚未配置 Telegram,测试发送会提示「未配置」直至用户在设置页完成配置。 ## 本地测试 ```bash .venv/bin/pytest tests/test_settings_telegram.py -q # 6 passed bash scripts/local_verify.sh ```