feat: 完善 Telegram 推送通知功能

- 推送模板优化:
  - 优先使用账户名称而不是钱包地址
  - 使用市场标题而不是16进制ID
  - 添加可点击的市场链接(支持 slug 和 conditionId)
  - 添加市场方向(outcome)显示
  - 数量和价格从订单详情API获取实际值
  - 失败通知只显示后端返回的msg,不显示完整堆栈

- 多语言支持:
  - 后端推送消息支持多语言(使用前端最后请求的语言)
  - 添加所有 ErrorCode 的多语言资源文件(中文简体、繁体、英文)
  - 通知消息文本全部使用多语言资源

- 功能改进:
  - 从订单详情获取实际的 side、price、size、outcome
  - 支持买入/卖出方向的多语言显示
  - 错误信息优化,只显示后端返回的错误消息
This commit is contained in:
WrBug
2025-12-05 02:20:46 +08:00
parent 41596887c9
commit 777710c2ed
32 changed files with 4059 additions and 21 deletions
+71
View File
@@ -203,6 +203,7 @@
"language": "語言",
"apiHealth": "API健康",
"proxy": "代理",
"notifications": "消息推送",
"logout": "退出登錄",
"logoutConfirm": "確認退出",
"logoutConfirmDesc": "確定要退出登錄嗎?",
@@ -428,5 +429,75 @@
"deleteSuccess": "刪除跟單成功",
"deleteFailed": "刪除跟單失敗",
"deleteConfirm": "確定要刪除這個跟單關係嗎?"
},
"notificationSettings": {
"title": "消息推送設置",
"addConfig": "添加配置",
"editConfig": "編輯配置",
"configName": "配置名稱",
"configNamePlaceholder": "例如:我的 Telegram 機器人",
"configNameRequired": "請輸入配置名稱",
"type": "推送類型",
"typeRequired": "請選擇推送類型",
"enabled": "啟用狀態",
"status": "狀態",
"enabledStatus": "已啟用",
"disabledStatus": "已禁用",
"chatIds": "Chat IDs",
"chatIdsPlaceholder": "Chat IDs(點擊上方按鈕自動獲取,或手動輸入,多個用逗號分隔)",
"chatIdsRequired": "請輸入至少一個 Chat ID",
"chatIdsExtra": "多個 Chat ID 用逗號分隔,例如:123456789,987654321。點擊上方按鈕可自動獲取(需要先向機器人發送消息)",
"chatIdsCount": "個接收者",
"chatIdsNotConfigured": "未配置",
"edit": "編輯",
"test": "測試",
"delete": "刪除",
"deleteConfirm": "確定要刪除這個配置嗎?",
"enableSuccess": "已啟用",
"disableSuccess": "已禁用",
"updateStatusFailed": "更新失敗",
"deleteSuccess": "刪除成功",
"deleteFailed": "刪除失敗",
"createSuccess": "創建成功",
"createFailed": "創建失敗",
"updateSuccess": "更新成功",
"updateFailed": "更新失敗",
"fetchFailed": "獲取配置列表失敗",
"testSuccess": "測試消息發送成功,請檢查 Telegram",
"testFailed": "測試消息發送失敗",
"getChatIdsSuccess": "成功獲取 {count} 個 Chat ID",
"getChatIdsFailed": "獲取 Chat IDs 失敗",
"getChatIdsNoToken": "請先填寫 Bot Token",
"getChatIdsNoMessage": "未找到 Chat ID,請先向機器人發送一條消息(如 /start),然後重試",
"getChatIdsButton": "獲取 Chat ID"
},
"telegramConfig": {
"title": "Telegram 配置說明",
"step1": "通過 <strong>@BotFather</strong> 創建 Telegram 機器人,獲取 Bot Token",
"step2": "填寫 Bot Token 後,點擊\"獲取 Chat ID\"按鈕自動獲取(需要先向機器人發送消息)",
"step3": "或通過 <strong>@userinfobot</strong> 手動獲取 Chat ID",
"step4": "支持配置多個 Chat ID(用逗號分隔),所有配置的用戶都會收到通知",
"step5": "訂單成功或失敗時會自動發送 Telegram 消息",
"botToken": "Bot Token",
"botTokenPlaceholder": "Bot Token(從 @BotFather 獲取)",
"botTokenRequired": "請輸入 Bot Token"
},
"discordConfig": {
"title": "Discord 配置說明",
"step1": "在 Discord 服務器中創建 Webhook",
"step2": "複製 Webhook URL 並填入配置",
"step3": "訂單成功或失敗時會自動發送 Discord 消息",
"webhookUrl": "Webhook URL",
"webhookUrlPlaceholder": "Webhook URL(從 Discord 服務器設置中獲取)",
"webhookUrlRequired": "請輸入 Webhook URL"
},
"slackConfig": {
"title": "Slack 配置說明",
"step1": "在 Slack 工作區中創建 Incoming Webhook",
"step2": "複製 Webhook URL 並填入配置",
"step3": "訂單成功或失敗時會自動發送 Slack 消息",
"webhookUrl": "Webhook URL",
"webhookUrlPlaceholder": "Webhook URL(從 Slack App 設置中獲取)",
"webhookUrlRequired": "請輸入 Webhook URL"
}
}