feat: 优化规则匹配逻辑,支持通知标题和正文的频道匹配
This commit is contained in:
@@ -200,7 +200,9 @@ object NotificationRuleEngine {
|
||||
private fun matchRule(raw: NotificationDb.RawNotification, text: String, rule: Rule): Boolean {
|
||||
if (!rule.enabled) return false
|
||||
val channel = raw.channel ?: ""
|
||||
val channelHit = rule.channels.isEmpty() || rule.channels.any { channel.contains(it) }
|
||||
// 频道命中:优先用通知来源/标题匹配,必要时回退到正文匹配(兼容 adb shell / 部分厂商改名)
|
||||
val channelHit =
|
||||
rule.channels.isEmpty() || rule.channels.any { channel.contains(it) || text.contains(it) }
|
||||
val keywordHit = rule.keywords.isEmpty() || rule.keywords.any { text.contains(it) }
|
||||
return channelHit && keywordHit
|
||||
}
|
||||
@@ -288,4 +290,3 @@ object NotificationRuleEngine {
|
||||
return rule.defaultMerchant ?: "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user