@@ -0,0 +1,51 @@
|
||||
# 生产验证 — 设置页 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
|
||||
```
|
||||
Reference in New Issue
Block a user