mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
js 列表规则及列表子项规则中支持 baseUrlWithOptions 变量
This commit is contained in:
@@ -20,7 +20,8 @@
|
||||
|变量名|调用类|
|
||||
|------|-----|
|
||||
|java|当前类|
|
||||
|baseUrl|当前url,String |
|
||||
|baseUrl|String,当前 url,如 `https://example.com/page/1`|
|
||||
|baseUrlWithOptions|String,带参数的当前 url,如 `https://example.com/page/1,{"webView": true}`|
|
||||
|result|上一步的结果|
|
||||
|book|[书籍类](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/data/entities/Book.kt)|
|
||||
|chapter|[章节类](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/data/entities/BookChapter.kt)|
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user