mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
This commit is contained in:
@@ -87,7 +87,7 @@ java.getElements(ruleStr: String)
|
||||
|
||||
* 重新搜索书籍/重新获取目录url
|
||||
|
||||
> 可以在刷新目录之前使用,有些书源书籍地址和目录url会变
|
||||
> 只能在刷新目录之前使用,有些书源书籍地址和目录url会变
|
||||
|
||||
```js
|
||||
java.reGetBook()
|
||||
|
||||
@@ -48,7 +48,8 @@ import kotlin.coroutines.EmptyCoroutineContext
|
||||
@Suppress("unused", "RegExpRedundantEscape", "MemberVisibilityCanBePrivate")
|
||||
class AnalyzeRule(
|
||||
var ruleData: RuleDataInterface? = null,
|
||||
private val source: BaseSource? = null
|
||||
private val source: BaseSource? = null,
|
||||
private val preUpdateJs: Boolean = false
|
||||
) : JsExtensions {
|
||||
|
||||
val book get() = ruleData as? BaseBook
|
||||
@@ -815,6 +816,7 @@ class AnalyzeRule(
|
||||
* 重新获取book
|
||||
*/
|
||||
fun reGetBook() {
|
||||
if (!preUpdateJs) return
|
||||
val bookSource = source as? BookSource
|
||||
val book = book as? Book
|
||||
if (bookSource == null || book == null) return
|
||||
@@ -832,24 +834,11 @@ class AnalyzeRule(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新详情页
|
||||
*/
|
||||
fun refreshBook() {
|
||||
val bookSource = source as? BookSource
|
||||
val book = book as? Book
|
||||
if (bookSource == null || book == null) return
|
||||
runBlocking(coroutineContext) {
|
||||
withTimeout(1800000) {
|
||||
WebBook.getBookInfoAwait(bookSource, book, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新tocUrl,有些书源目录url定期更新,可以在js调用更新
|
||||
*/
|
||||
fun refreshTocUrl() {
|
||||
if (!preUpdateJs) return
|
||||
val bookSource = source as? BookSource
|
||||
val book = book as? Book
|
||||
if (bookSource == null || book == null) return
|
||||
|
||||
@@ -212,7 +212,7 @@ object WebBook {
|
||||
return kotlin.runCatching {
|
||||
val preUpdateJs = bookSource.ruleToc?.preUpdateJs
|
||||
if (!preUpdateJs.isNullOrBlank()) {
|
||||
AnalyzeRule(book, bookSource)
|
||||
AnalyzeRule(book, bookSource, true)
|
||||
.setCoroutineContext(coroutineContext)
|
||||
.evalJS(preUpdateJs)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user