✨ 新增功能: - 通知频率控制(防止消息轰炸) - 消息去重机制(5分钟内相同内容不重复发送) - 失败重试机制(最多3次重试) - 通知历史记录(完整的发送日志) - 优先级标识(低/普通/高/紧急) - 批量通知支持(预留功能) 📊 数据库增强: - telegram_notification_configs 新增字段: - priority: 通知优先级 - rate_limit_seconds: 频率限制(秒) - batch_enabled: 批量通知开关 - batch_interval_minutes: 批量间隔 - retry_enabled: 重试开关 - retry_max_attempts: 最大重试次数 - telegram_notification_history 新表: - 记录所有通知发送历史 - 支持状态追踪(pending/sent/failed) - 支持重试计数 - 支持错误信息记录 🔧 核心实现: - telegram-bot-enhanced.ts: 增强版通知引擎 - generateContentHash(): 内容hash生成 - checkRateLimit(): 频率限制检查 - isDuplicateMessage(): 消息去重 - recordNotification(): 记录通知历史 - updateNotificationStatus(): 更新通知状态 - getPendingRetries(): 获取待重试通知 - notifyTransactionEnhanced(): 增强版通知 - retryFailedNotifications(): 失败重试 ✅ 测试结果: - Bot Token: 8270297136:AAEek5CIO8RDudo8eqlg2vy4ilcyqQMoEQ8 - Chat ID: 1102887169 - Bot用户名: @ktcaiwubot - 测试消息: ✅ 发送成功
@vben/backend-mock
Description
Vben Admin 数据 mock 服务,没有对接任何的数据库,所有数据都是模拟的,用于前端开发时提供数据支持。线上环境不再提供 mock 集成,可自行部署服务或者对接真实数据,由于 mock.js 等工具有一些限制,比如上传文件不行、无法模拟复杂的逻辑等,所以这里使用了真实的后端服务来实现。唯一麻烦的是本地需要同时启动后端服务和前端服务,但是这样可以更好的模拟真实环境。该服务不需要手动启动,已经集成在 vite 插件内,随应用一起启用。
Running the app
# development
$ pnpm run start
# production mode
$ pnpm run build
Telegram Webhook 集成
财务系统新增交易后可自动通知本地的 Telegram 机器人,默认会将交易数据通过以下 Webhook 发送:
http://192.168.9.28:8889/webhook/transaction- 认证密钥:
ktapp.cc
如需自定义目标地址或密钥,可在运行前设置以下环境变量:
export TELEGRAM_WEBHOOK_URL="http://<bot-host>:8889/webhook/transaction"
export TELEGRAM_WEBHOOK_SECRET="自定义密钥"
也可以使用旧变量 FINANCE_BOT_WEBHOOK_URL、FINANCE_BOT_WEBHOOK_SECRET 进行兼容配置。