fix preUpdateJs rule

This commit is contained in:
821938089
2022-07-10 07:37:34 +08:00
parent 2e041fcf52
commit 664eca08d6
2 changed files with 10 additions and 0 deletions
@@ -18,6 +18,7 @@ import io.legado.app.help.BookHelp
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.model.BookCover
import io.legado.app.model.ReadBook
import io.legado.app.model.analyzeRule.AnalyzeRule
import io.legado.app.model.localBook.LocalBook
import io.legado.app.model.webBook.WebBook
import io.legado.app.utils.postEvent
@@ -153,6 +154,10 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
chapterListData.postValue(emptyList())
} else {
bookSource?.let { bookSource ->
val preUpdateJs = bookSource.ruleToc?.preUpdateJs
if (!preUpdateJs.isNullOrBlank()) {
AnalyzeRule(book, bookSource).evalJS(preUpdateJs)
}
WebBook.getChapterList(this, bookSource, book)
.onSuccess(IO) {
if (inBookshelf) {
@@ -21,6 +21,7 @@ import io.legado.app.help.config.AppConfig
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.model.ReadAloud
import io.legado.app.model.ReadBook
import io.legado.app.model.analyzeRule.AnalyzeRule
import io.legado.app.model.localBook.LocalBook
import io.legado.app.model.webBook.WebBook
import io.legado.app.service.BaseReadAloudService
@@ -144,6 +145,10 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
}
} else {
ReadBook.bookSource?.let {
val preUpdateJs = it.ruleToc?.preUpdateJs
if (!preUpdateJs.isNullOrBlank()) {
AnalyzeRule(book, it).evalJS(preUpdateJs)
}
WebBook.getChapterList(viewModelScope, it, book)
.onSuccess(IO) { cList ->
appDb.bookChapterDao.insert(*cList.toTypedArray())