diff --git a/app/src/main/java/io/legado/app/data/entities/BaseSource.kt b/app/src/main/java/io/legado/app/data/entities/BaseSource.kt index 8ada19d69..bee877003 100644 --- a/app/src/main/java/io/legado/app/data/entities/BaseSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/BaseSource.kt @@ -52,8 +52,8 @@ interface BaseSource : JsExtensions { fun loginUi(): List? { return GSON.fromJsonArray(loginUi).onFailure { - it.printOnDebug() - }.getOrNull() + it.printOnDebug() + }.getOrNull() } fun getLoginJs(): String? { @@ -66,7 +66,9 @@ interface BaseSource : JsExtensions { } } - // 调用login函数 实现登录请求 + /** + * 调用login函数 实现登录请求 + */ fun login() { val loginJs = getLoginJs() if (!loginJs.isNullOrBlank()) { @@ -198,6 +200,21 @@ interface BaseSource : JsExtensions { return CacheManager.get("sourceVariable_${getKey()}") } + /** + * 保存数据 + */ + fun put(key: String, value: String): String { + CacheManager.put("v_${getKey()}_${key}", value) + return value + } + + /** + * 获取保存的数据 + */ + fun get(key: String): String { + return CacheManager.get("v_${getKey()}_${key}") ?: "" + } + /** * 执行JS */ 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 a7588e903..7096c1b01 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 @@ -610,13 +610,20 @@ class AnalyzeRule( XPath, Json, Default, Js, Regex } + /** + * 保存数据 + */ fun put(key: String, value: String): String { chapter?.putVariable(key, value) ?: book?.putVariable(key, value) ?: ruleData?.putVariable(key, value) + ?: source?.put(key, value) return value } + /** + * 获取保存的数据 + */ fun get(key: String): String { when (key) { "bookName" -> book?.let { @@ -629,6 +636,7 @@ class AnalyzeRule( return chapter?.getVariable(key) ?: book?.getVariable(key) ?: ruleData?.getVariable(key) + ?: source?.get(key) ?: "" }