js 列表规则及列表子项规则中支持 baseUrlWithOptions 变量

This commit is contained in:
Nihility
2024-09-09 15:02:08 +08:00
parent a585940344
commit d27d4f5e57
4 changed files with 12 additions and 2 deletions
@@ -54,6 +54,8 @@ class AnalyzeRule(
private set
var baseUrl: String? = null
private set
var optionStr: String = "{}"
private set
var redirectUrl: URL? = null
private set
private var isJSON: Boolean = false
@@ -94,6 +96,11 @@ class AnalyzeRule(
return this
}
fun setOption(option: String): AnalyzeRule {
optionStr = option
return this
}
fun setRedirectUrl(url: String): URL? {
try {
redirectUrl = URL(url)
@@ -747,6 +754,7 @@ class AnalyzeRule(
bindings["book"] = book
bindings["result"] = result
bindings["baseUrl"] = baseUrl
bindings["baseUrlWithOptions"] = "$baseUrl,$optionStr"
bindings["chapter"] = chapter
bindings["title"] = chapter?.title
bindings["src"] = content
@@ -76,6 +76,7 @@ class AnalyzeUrl(
var type: String? = null
private set
val headerMap = HashMap<String, String>()
var optionStr: String = ""
private var urlNoQuery: String = ""
private var queryStr: String? = null
private val fieldMap = LinkedHashMap<String, String>()
@@ -43,7 +43,7 @@ object BookList {
Debug.log(bookSource.bookSourceUrl, "≡获取成功:${analyzeUrl.ruleUrl}")
Debug.log(bookSource.bookSourceUrl, body, state = 10)
val analyzeRule = AnalyzeRule(ruleData, bookSource)
analyzeRule.setContent(body).setBaseUrl(baseUrl)
analyzeRule.setContent(body).setBaseUrl(baseUrl).setOption(analyzeUrl.optionStr)
analyzeRule.setRedirectUrl(baseUrl)
analyzeRule.setCoroutineContext(coroutineContext)
if (isSearch) bookSource.bookUrlPattern?.let {