Files

52 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# 生产验证 — 设置页 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 TokengetUpdates 前清除 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
```