From 8562ca64048272fee769c1edbd9e67cd2b44e9c9 Mon Sep 17 00:00:00 2001 From: bushixuanqi <2208877960@qq.com> Date: Mon, 19 Jul 2021 19:43:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt index b959987b3..f9e0024c0 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt @@ -396,7 +396,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { */ inner class SourceRule internal constructor(ruleStr: String, mainMode: Mode = Mode.Default) { - internal var mode: Mode + internal var mode = mainMode internal var rule: String internal var replaceRegex = "" internal var replacement = "" @@ -409,8 +409,10 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { private val defaultRuleType = 0 init { - this.mode = mainMode rule = when { + mode == Mode.Js || mode == Mode.Regex -> { //splitSourceRule预先确定了Mode.Js和Mode.Regex两种mode,避免被后面的值覆盖先进行判断 + ruleStr + } ruleStr.startsWith("@CSS:", true) -> { mode = Mode.Default ruleStr @@ -431,7 +433,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { mode = Mode.Json ruleStr.substring(6) } - (ruleStr[1] == '.' || ruleStr[1] == '[') && ruleStr.startsWith("$.") || isJSON -> { + ruleStr.startsWith("$.") || ruleStr.startsWith("$[") || isJSON -> { mode = Mode.Json ruleStr }