Skip to content

v1.5.50

Choose a tag to compare

@fnthinklevi fnthinklevi released this 11 Aug 09:36
· 26 commits to main since this release

v1.5.50 - 2026-08-11

P2:推送模板引擎 + 一键暂停推送 + 平台类型精确识别

📝 推送模板引擎:新增 TemplateEngine.kt,支持 text/markdown/json/xml 四种消息格式,变量占位符(%appName% %title% %content% 等 14 个)自动替换;企微/钉钉/飞书按平台原生 msgtype 包裹 payload,通用 webhook 直接发送渲染后 body 并自动设置 Content-Type;JSON/XML 模板自动转义。每个通道独立配置格式与模板,数据库升级至 v6 新增 message_format / message_template 字段。
⏸️ 前台通知一键暂停/恢复推送:新增 PushToggleManager(三级状态机 RUNNING/PAUSED/STOPPED + SharedPreferences 持久化)与 PushToggleActionReceiver;前台通知显示「暂停推送」/「恢复推送」Action 按钮,点击切换状态后通过 ACTION_REFRESH_FOREGROUND 刷新通知文案与按钮;NetworkClient 发送前检查 isPushActive(),暂停期间监听继续、通知仍记录历史但跳过 webhook 发送。
🎯 Webhook 平台类型 host 精确匹配WebhookPayloadBuilder.detectTypeurl.contains() 子串匹配改为 extractHost() 提取小写 host 后精确相等比较(qyapi.weixin.qq.com / oapi.dingtalk.com / open.feishu.cn / open.larksuite.com),消除 weixin.qq.com 等误判;Dart 端 WebhookChannel.detectTypeFromUrl 同步对齐,与 DB channel_type 优先级配合。
🌐 前台通知国际化:前台服务通知文案(标题/监听状态/暂停状态/Action 按钮)接入 I18n 中英双语,英文模式下状态栏通知不再显示中文。

Full Changelog: 1.5.49...1.5.50