Update AnalyzeRule.kt

改回原来的插入方式
pull/1155/head
bushixuanqi 4 years ago committed by GitHub
parent d296482d0e
commit c401c6e1fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt

@ -515,10 +515,11 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions {
/** /**
* 替换@get,{{ }} * 替换@get,{{ }}
*/ */
fun makeUpRule(result: Any?) { //追加比插入快 fun makeUpRule(result: Any?) {
val infoVal = StringBuilder() val infoVal = StringBuilder()
if (ruleParam.isNotEmpty()) { if (ruleParam.isNotEmpty()) {
for (index in 0 until ruleParam.size) { var index = ruleParam.size
for (index-- > 0) {
val regType = ruleType[index] val regType = ruleType[index]
when { when {
regType > defaultRuleType -> { regType > defaultRuleType -> {
@ -526,17 +527,17 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions {
(result as? List<String?>)?.run { (result as? List<String?>)?.run {
if (this.size > regType) { if (this.size > regType) {
this[regType]?.let { this[regType]?.let {
infoVal.append(it) infoVal.insert(0, it)
} }
} }
}?:infoVal.append(ruleParam[index]) }?:infoVal.insert(0, ruleParam[index])
} }
regType == jsRuleType -> { regType == jsRuleType -> {
if (isRule(ruleParam[index])) { if (isRule(ruleParam[index])) {
infoVal.append( getString(arrayListOf(SourceRule(ruleParam[index]))) ) infoVal.insert(0, getString(arrayListOf(SourceRule(ruleParam[index]))))
} else { } else {
evalJS(ruleParam[index], result)?.run{ evalJS(ruleParam[index], result)?.run{
infoVal.append(when(this){ infoVal.insert(0, when(this){
is String -> this is String -> this
this is Double && this % 1.0 == 0.0 -> String.format("%.0f", this) this is Double && this % 1.0 == 0.0 -> String.format("%.0f", this)
else -> toString() else -> toString()
@ -545,9 +546,9 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions {
} }
} }
regType == getRuleType -> { regType == getRuleType -> {
infoVal.append(get(ruleParam[index])) infoVal.insert(0, get(ruleParam[index]))
} }
else -> infoVal.append(ruleParam[index]) else -> infoVal.insert(0, ruleParam[index])
} }
} }
rule = infoVal.toString() rule = infoVal.toString()

Loading…
Cancel
Save