pull/32/head
kunfei 5 years ago
parent 8842b5c115
commit d998c3d5a1
  1. 2
      app/src/main/java/io/legado/app/data/entities/Book.kt
  2. 2
      app/src/main/java/io/legado/app/data/entities/SearchBook.kt
  3. 16
      app/src/main/java/io/legado/app/model/webbook/BookList.kt

@ -21,7 +21,7 @@ data class Book(
var origin: String = "", // 书源URL(默认BookType.local) var origin: String = "", // 书源URL(默认BookType.local)
var name: String? = null, // 书籍名称(书源获取) var name: String? = null, // 书籍名称(书源获取)
var author: String? = null, // 作者名称(书源获取) var author: String? = null, // 作者名称(书源获取)
var tag: String? = null, // 分类信息(书源获取) var kind: String? = null, // 分类信息(书源获取)
var customTag: String? = null, // 分类信息(用户修改) var customTag: String? = null, // 分类信息(用户修改)
var coverUrl: String? = null, // 封面Url(书源获取) var coverUrl: String? = null, // 封面Url(书源获取)
var customCoverUrl: String? = null, // 封面Url(用户修改) var customCoverUrl: String? = null, // 封面Url(用户修改)

@ -20,7 +20,7 @@ data class SearchBook(
var originName: String = "", var originName: String = "",
var name: String? = null, var name: String? = null,
var author: String? = null, var author: String? = null,
var tag: String? = null, var kind: String? = null,
var coverUrl: String? = null, var coverUrl: String? = null,
var intro: String? = null, var intro: String? = null,
var latestChapterTitle: String? = null, var latestChapterTitle: String? = null,

@ -8,6 +8,7 @@ import io.legado.app.data.entities.rule.BookListRule
import io.legado.app.model.analyzeRule.AnalyzeRule import io.legado.app.model.analyzeRule.AnalyzeRule
import io.legado.app.model.analyzeRule.AnalyzeUrl import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legado.app.utils.NetworkUtils import io.legado.app.utils.NetworkUtils
import org.mozilla.javascript.NativeObject
import retrofit2.Response import retrofit2.Response
class BookList { class BookList {
@ -64,7 +65,7 @@ class BookList {
} else { } else {
if (allInOne) { if (allInOne) {
for (item in collections) { for (item in collections) {
getAllInOneItem(analyzer, bookListRule, bookSource, baseUrl)?.let { searchBook -> getAllInOneItem(item, analyzer, bookListRule, bookSource, baseUrl)?.let { searchBook ->
if (baseUrl == searchBook.bookUrl) { if (baseUrl == searchBook.bookUrl) {
searchBook.bookInfoHtml = body searchBook.bookInfoHtml = body
} }
@ -101,7 +102,7 @@ class BookList {
searchBook.coverUrl = analyzeRule.getString(coverUrl ?: "") searchBook.coverUrl = analyzeRule.getString(coverUrl ?: "")
searchBook.intro = analyzeRule.getString(intro ?: "") searchBook.intro = analyzeRule.getString(intro ?: "")
searchBook.latestChapterTitle = analyzeRule.getString(lastChapter ?: "") searchBook.latestChapterTitle = analyzeRule.getString(lastChapter ?: "")
searchBook.kind = analyzeRule.getString(kind ?: "")
return searchBook return searchBook
} }
} }
@ -109,6 +110,7 @@ class BookList {
} }
private fun getAllInOneItem( private fun getAllInOneItem(
item: Any,
analyzeRule: AnalyzeRule, analyzeRule: AnalyzeRule,
bookListRule: BookListRule, bookListRule: BookListRule,
bookSource: BookSource, bookSource: BookSource,
@ -117,8 +119,14 @@ class BookList {
val searchBook = SearchBook() val searchBook = SearchBook()
searchBook.origin = bookSource.bookSourceUrl searchBook.origin = bookSource.bookSourceUrl
searchBook.originName = bookSource.bookSourceName searchBook.originName = bookSource.bookSourceName
val nativeObject = item as NativeObject
searchBook.name = nativeObject[bookListRule.name]?.toString()
searchBook.name?.let {
searchBook.author = nativeObject[bookListRule.author]?.toString()
searchBook.coverUrl = nativeObject[bookListRule.coverUrl]?.toString()
searchBook.intro = nativeObject[bookListRule.intro]?.toString()
searchBook.kind = nativeObject[bookListRule.kind]?.toString()
}
return null return null
} }

Loading…
Cancel
Save