This commit is contained in:
Horis
2025-05-02 15:34:37 +08:00
parent 6514af7178
commit 9f2e507caa
3 changed files with 6 additions and 17 deletions

View File

@@ -87,7 +87,7 @@ java.getElements(ruleStr: String)
* 重新搜索书籍/重新获取目录url
> 可以在刷新目录之前使用,有些书源书籍地址和目录url会变
> 只能在刷新目录之前使用,有些书源书籍地址和目录url会变
```js
java.reGetBook()

View File

@@ -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

View File

@@ -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)
}