优化
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package io.legado.app.data.entities
|
package io.legado.app.data.entities
|
||||||
|
|
||||||
|
import io.legado.app.help.RuleBigDataHelp
|
||||||
import io.legado.app.model.analyzeRule.RuleDataInterface
|
import io.legado.app.model.analyzeRule.RuleDataInterface
|
||||||
|
import io.legado.app.utils.GSON
|
||||||
import io.legado.app.utils.splitNotBlank
|
import io.legado.app.utils.splitNotBlank
|
||||||
|
|
||||||
interface BaseBook : RuleDataInterface {
|
interface BaseBook : RuleDataInterface {
|
||||||
@@ -9,10 +11,26 @@ interface BaseBook : RuleDataInterface {
|
|||||||
var bookUrl: String
|
var bookUrl: String
|
||||||
var kind: String?
|
var kind: String?
|
||||||
var wordCount: String?
|
var wordCount: String?
|
||||||
|
var variable: String?
|
||||||
|
|
||||||
var infoHtml: String?
|
var infoHtml: String?
|
||||||
var tocHtml: String?
|
var tocHtml: String?
|
||||||
|
|
||||||
|
override fun putVariable(key: String, value: String?): Boolean {
|
||||||
|
if (super.putVariable(key, value)) {
|
||||||
|
variable = GSON.toJson(variableMap)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun putBigVariable(key: String, value: String?) {
|
||||||
|
RuleBigDataHelp.putBookVariable(bookUrl, key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getBigVariable(key: String): String? {
|
||||||
|
return RuleBigDataHelp.getBookVariable(bookUrl, key)
|
||||||
|
}
|
||||||
|
|
||||||
fun getKindList(): List<String> {
|
fun getKindList(): List<String> {
|
||||||
val kindList = arrayListOf<String>()
|
val kindList = arrayListOf<String>()
|
||||||
wordCount?.let {
|
wordCount?.let {
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package io.legado.app.data.entities
|
||||||
|
|
||||||
|
import io.legado.app.help.RuleBigDataHelp
|
||||||
|
import io.legado.app.model.analyzeRule.RuleDataInterface
|
||||||
|
import io.legado.app.utils.GSON
|
||||||
|
|
||||||
|
interface BaseRssArticle : RuleDataInterface {
|
||||||
|
|
||||||
|
var origin: String
|
||||||
|
var link: String
|
||||||
|
|
||||||
|
var variable: String?
|
||||||
|
|
||||||
|
override fun putVariable(key: String, value: String?): Boolean {
|
||||||
|
if (super.putVariable(key, value)) {
|
||||||
|
variable = GSON.toJson(variableMap)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun putBigVariable(key: String, value: String?) {
|
||||||
|
RuleBigDataHelp.putRssVariable(origin, link, key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getBigVariable(key: String): String? {
|
||||||
|
return RuleBigDataHelp.getRssVariable(origin, link, key)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -142,10 +142,6 @@ data class Book(
|
|||||||
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Ignore
|
@Ignore
|
||||||
@IgnoredOnParcel
|
@IgnoredOnParcel
|
||||||
override var infoHtml: String? = null
|
override var infoHtml: String? = null
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import androidx.room.Index
|
|||||||
import com.github.liuyueyi.quick.transfer.ChineseUtils
|
import com.github.liuyueyi.quick.transfer.ChineseUtils
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.constant.AppPattern
|
import io.legado.app.constant.AppPattern
|
||||||
|
import io.legado.app.help.RuleBigDataHelp
|
||||||
import io.legado.app.help.config.AppConfig
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
||||||
import io.legado.app.model.analyzeRule.RuleDataInterface
|
import io.legado.app.model.analyzeRule.RuleDataInterface
|
||||||
@@ -44,7 +45,7 @@ data class BookChapter(
|
|||||||
var end: Long? = null, // 章节终止位置
|
var end: Long? = null, // 章节终止位置
|
||||||
var startFragmentId: String? = null, //EPUB书籍当前章节的fragmentId
|
var startFragmentId: String? = null, //EPUB书籍当前章节的fragmentId
|
||||||
var endFragmentId: String? = null, //EPUB书籍下一章节的fragmentId
|
var endFragmentId: String? = null, //EPUB书籍下一章节的fragmentId
|
||||||
override var variable: String? = null //变量
|
var variable: String? = null //变量
|
||||||
) : Parcelable, RuleDataInterface {
|
) : Parcelable, RuleDataInterface {
|
||||||
|
|
||||||
@delegate:Transient
|
@delegate:Transient
|
||||||
@@ -54,13 +55,19 @@ data class BookChapter(
|
|||||||
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putVariable(key: String, value: String?) {
|
override fun putVariable(key: String, value: String?): Boolean {
|
||||||
super.putVariable(key, value)
|
if (super.putVariable(key, value)) {
|
||||||
variable = GSON.toJson(variableMap)
|
variable = GSON.toJson(variableMap)
|
||||||
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) {
|
override fun putBigVariable(key: String, value: String?) {
|
||||||
|
RuleBigDataHelp.putChapterVariable(bookUrl, url, key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getBigVariable(key: String): String? {
|
||||||
|
return RuleBigDataHelp.getChapterVariable(bookUrl, url, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun hashCode() = url.hashCode()
|
override fun hashCode() = url.hashCode()
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package io.legado.app.data.entities
|
|||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.Ignore
|
import androidx.room.Ignore
|
||||||
import io.legado.app.model.analyzeRule.RuleDataInterface
|
|
||||||
import io.legado.app.utils.GSON
|
import io.legado.app.utils.GSON
|
||||||
import io.legado.app.utils.fromJsonObject
|
import io.legado.app.utils.fromJsonObject
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
@@ -13,18 +12,18 @@ import kotlinx.parcelize.IgnoredOnParcel
|
|||||||
primaryKeys = ["origin", "link"]
|
primaryKeys = ["origin", "link"]
|
||||||
)
|
)
|
||||||
data class RssArticle(
|
data class RssArticle(
|
||||||
var origin: String = "",
|
override var origin: String = "",
|
||||||
var sort: String = "",
|
var sort: String = "",
|
||||||
var title: String = "",
|
var title: String = "",
|
||||||
var order: Long = 0,
|
var order: Long = 0,
|
||||||
var link: String = "",
|
override var link: String = "",
|
||||||
var pubDate: String? = null,
|
var pubDate: String? = null,
|
||||||
var description: String? = null,
|
var description: String? = null,
|
||||||
var content: String? = null,
|
var content: String? = null,
|
||||||
var image: String? = null,
|
var image: String? = null,
|
||||||
var read: Boolean = false,
|
var read: Boolean = false,
|
||||||
override var variable: String? = null
|
override var variable: String? = null
|
||||||
) : RuleDataInterface {
|
) : BaseRssArticle {
|
||||||
|
|
||||||
override fun hashCode() = link.hashCode()
|
override fun hashCode() = link.hashCode()
|
||||||
|
|
||||||
@@ -40,15 +39,6 @@ data class RssArticle(
|
|||||||
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putVariable(key: String, value: String?) {
|
|
||||||
super.putVariable(key, value)
|
|
||||||
variable = GSON.toJson(variableMap)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
fun toStar() = RssStar(
|
fun toStar() = RssStar(
|
||||||
origin = origin,
|
origin = origin,
|
||||||
sort = sort,
|
sort = sort,
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package io.legado.app.data.entities
|
|||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.Ignore
|
import androidx.room.Ignore
|
||||||
import io.legado.app.model.analyzeRule.RuleDataInterface
|
|
||||||
import io.legado.app.utils.GSON
|
import io.legado.app.utils.GSON
|
||||||
import io.legado.app.utils.fromJsonObject
|
import io.legado.app.utils.fromJsonObject
|
||||||
import kotlinx.parcelize.IgnoredOnParcel
|
import kotlinx.parcelize.IgnoredOnParcel
|
||||||
@@ -13,17 +12,17 @@ import kotlinx.parcelize.IgnoredOnParcel
|
|||||||
primaryKeys = ["origin", "link"]
|
primaryKeys = ["origin", "link"]
|
||||||
)
|
)
|
||||||
data class RssStar(
|
data class RssStar(
|
||||||
var origin: String = "",
|
override var origin: String = "",
|
||||||
var sort: String = "",
|
var sort: String = "",
|
||||||
var title: String = "",
|
var title: String = "",
|
||||||
var starTime: Long = 0,
|
var starTime: Long = 0,
|
||||||
var link: String = "",
|
override var link: String = "",
|
||||||
var pubDate: String? = null,
|
var pubDate: String? = null,
|
||||||
var description: String? = null,
|
var description: String? = null,
|
||||||
var content: String? = null,
|
var content: String? = null,
|
||||||
var image: String? = null,
|
var image: String? = null,
|
||||||
override var variable: String? = null
|
override var variable: String? = null
|
||||||
) : RuleDataInterface {
|
) : BaseRssArticle {
|
||||||
|
|
||||||
@delegate:Transient
|
@delegate:Transient
|
||||||
@delegate:Ignore
|
@delegate:Ignore
|
||||||
@@ -32,15 +31,6 @@ data class RssStar(
|
|||||||
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: hashMapOf()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putVariable(key: String, value: String?) {
|
|
||||||
super.putVariable(key, value)
|
|
||||||
variable = GSON.toJson(variableMap)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
fun toRssArticle() = RssArticle(
|
fun toRssArticle() = RssArticle(
|
||||||
origin = origin,
|
origin = origin,
|
||||||
sort = sort,
|
sort = sort,
|
||||||
|
|||||||
@@ -63,10 +63,6 @@ data class SearchBook(
|
|||||||
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: HashMap()
|
GSON.fromJsonObject<HashMap<String, String>>(variable).getOrNull() ?: HashMap()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@delegate:Transient
|
@delegate:Transient
|
||||||
@delegate:Ignore
|
@delegate:Ignore
|
||||||
@IgnoredOnParcel
|
@IgnoredOnParcel
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package io.legado.app.help
|
||||||
|
|
||||||
|
object RuleBigDataHelp {
|
||||||
|
|
||||||
|
fun putBookVariable(bookUrl: String, key: String, value: String?) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getBookVariable(bookUrl: String, key: String?): String? {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun putChapterVariable(bookUrl: String, chapterUrl: String, key: String, value: String?) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getChapterVariable(bookUrl: String, chapterUrl: String, key: String): String? {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
fun putRssVariable(origin: String, link: String, key: String, value: String?) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getRssVariable(origin: String, link: String, key: String): String? {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,30 @@
|
|||||||
package io.legado.app.model.analyzeRule
|
package io.legado.app.model.analyzeRule
|
||||||
|
|
||||||
class RuleData : RuleDataInterface {
|
import io.legado.app.utils.GSON
|
||||||
|
|
||||||
override var variable: String? = null
|
class RuleData : RuleDataInterface {
|
||||||
|
|
||||||
override val variableMap by lazy {
|
override val variableMap by lazy {
|
||||||
hashMapOf<String, String>()
|
hashMapOf<String, String>()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) {
|
override fun putBigVariable(key: String, value: String?) {
|
||||||
variableMap[key] = value
|
if (value == null) {
|
||||||
|
variableMap.remove(key)
|
||||||
|
} else {
|
||||||
|
variableMap[key] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getBigVariable(key: String): String? {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getVariable(): String? {
|
||||||
|
if (variableMap.isEmpty()) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
return GSON.toJson(variableMap)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,34 +1,33 @@
|
|||||||
package io.legado.app.model.analyzeRule
|
package io.legado.app.model.analyzeRule
|
||||||
|
|
||||||
import io.legado.app.utils.GSON
|
|
||||||
|
|
||||||
interface RuleDataInterface {
|
interface RuleDataInterface {
|
||||||
|
|
||||||
var variable: String?
|
|
||||||
|
|
||||||
val variableMap: HashMap<String, String>
|
val variableMap: HashMap<String, String>
|
||||||
|
|
||||||
fun putVariable(key: String, value: String?) {
|
fun putVariable(key: String, value: String?): Boolean {
|
||||||
when {
|
return when {
|
||||||
value == null -> {
|
value == null -> {
|
||||||
variableMap.remove(key)
|
variableMap.remove(key)
|
||||||
variable = GSON.toJson(variableMap)
|
putBigVariable(key, value)
|
||||||
|
true
|
||||||
}
|
}
|
||||||
value.length < 1000 -> {
|
value.length < 1000 -> {
|
||||||
variableMap[key] = value
|
variableMap[key] = value
|
||||||
variable = GSON.toJson(variableMap)
|
true
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
variableMap[key] = value
|
putBigVariable(key, value)
|
||||||
variable = GSON.toJson(variableMap)
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun putBigVariable(key: String, value: String)
|
fun putBigVariable(key: String, value: String?)
|
||||||
|
|
||||||
fun getVariable(key: String): String? {
|
fun getVariable(key: String): String? {
|
||||||
return variableMap[key]
|
return variableMap[key] ?: getBigVariable(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getBigVariable(key: String): String?
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -10,6 +10,7 @@ import io.legado.app.model.Debug
|
|||||||
import io.legado.app.model.NoStackTraceException
|
import io.legado.app.model.NoStackTraceException
|
||||||
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.model.analyzeRule.RuleData
|
||||||
import io.legado.app.utils.HtmlFormatter
|
import io.legado.app.utils.HtmlFormatter
|
||||||
import io.legado.app.utils.NetworkUtils
|
import io.legado.app.utils.NetworkUtils
|
||||||
import io.legado.app.utils.StringUtils.wordCountFormat
|
import io.legado.app.utils.StringUtils.wordCountFormat
|
||||||
@@ -26,7 +27,7 @@ object BookList {
|
|||||||
fun analyzeBookList(
|
fun analyzeBookList(
|
||||||
scope: CoroutineScope,
|
scope: CoroutineScope,
|
||||||
bookSource: BookSource,
|
bookSource: BookSource,
|
||||||
variableBook: SearchBook,
|
ruleData: RuleData,
|
||||||
analyzeUrl: AnalyzeUrl,
|
analyzeUrl: AnalyzeUrl,
|
||||||
baseUrl: String,
|
baseUrl: String,
|
||||||
body: String?,
|
body: String?,
|
||||||
@@ -41,7 +42,7 @@ object BookList {
|
|||||||
val bookList = ArrayList<SearchBook>()
|
val bookList = ArrayList<SearchBook>()
|
||||||
Debug.log(bookSource.bookSourceUrl, "≡获取成功:${analyzeUrl.ruleUrl}")
|
Debug.log(bookSource.bookSourceUrl, "≡获取成功:${analyzeUrl.ruleUrl}")
|
||||||
Debug.log(bookSource.bookSourceUrl, body, state = 10)
|
Debug.log(bookSource.bookSourceUrl, body, state = 10)
|
||||||
val analyzeRule = AnalyzeRule(variableBook, bookSource)
|
val analyzeRule = AnalyzeRule(ruleData, bookSource)
|
||||||
analyzeRule.setContent(body).setBaseUrl(baseUrl)
|
analyzeRule.setContent(body).setBaseUrl(baseUrl)
|
||||||
analyzeRule.setRedirectUrl(baseUrl)
|
analyzeRule.setRedirectUrl(baseUrl)
|
||||||
bookSource.bookUrlPattern?.let {
|
bookSource.bookUrlPattern?.let {
|
||||||
@@ -49,7 +50,13 @@ object BookList {
|
|||||||
if (baseUrl.matches(it.toRegex())) {
|
if (baseUrl.matches(it.toRegex())) {
|
||||||
Debug.log(bookSource.bookSourceUrl, "≡链接为详情页")
|
Debug.log(bookSource.bookSourceUrl, "≡链接为详情页")
|
||||||
getInfoItem(
|
getInfoItem(
|
||||||
scope, bookSource, analyzeRule, analyzeUrl, body, baseUrl, variableBook.variable
|
scope,
|
||||||
|
bookSource,
|
||||||
|
analyzeRule,
|
||||||
|
analyzeUrl,
|
||||||
|
body,
|
||||||
|
baseUrl,
|
||||||
|
ruleData.getVariable()
|
||||||
)?.let { searchBook ->
|
)?.let { searchBook ->
|
||||||
searchBook.infoHtml = body
|
searchBook.infoHtml = body
|
||||||
bookList.add(searchBook)
|
bookList.add(searchBook)
|
||||||
@@ -78,7 +85,7 @@ object BookList {
|
|||||||
if (collections.isEmpty() && bookSource.bookUrlPattern.isNullOrEmpty()) {
|
if (collections.isEmpty() && bookSource.bookUrlPattern.isNullOrEmpty()) {
|
||||||
Debug.log(bookSource.bookSourceUrl, "└列表为空,按详情页解析")
|
Debug.log(bookSource.bookSourceUrl, "└列表为空,按详情页解析")
|
||||||
getInfoItem(
|
getInfoItem(
|
||||||
scope, bookSource, analyzeRule, analyzeUrl, body, baseUrl, variableBook.variable
|
scope, bookSource, analyzeRule, analyzeUrl, body, baseUrl, ruleData.getVariable()
|
||||||
)?.let { searchBook ->
|
)?.let { searchBook ->
|
||||||
searchBook.infoHtml = body
|
searchBook.infoHtml = body
|
||||||
bookList.add(searchBook)
|
bookList.add(searchBook)
|
||||||
@@ -95,7 +102,7 @@ object BookList {
|
|||||||
Debug.log(bookSource.bookSourceUrl, "└列表大小:${collections.size}")
|
Debug.log(bookSource.bookSourceUrl, "└列表大小:${collections.size}")
|
||||||
for ((index, item) in collections.withIndex()) {
|
for ((index, item) in collections.withIndex()) {
|
||||||
getSearchItem(
|
getSearchItem(
|
||||||
scope, bookSource, analyzeRule, item, baseUrl, variableBook.variable,
|
scope, bookSource, analyzeRule, item, baseUrl, ruleData.getVariable(),
|
||||||
index == 0,
|
index == 0,
|
||||||
ruleName = ruleName,
|
ruleName = ruleName,
|
||||||
ruleBookUrl = ruleBookUrl,
|
ruleBookUrl = ruleBookUrl,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import io.legado.app.help.http.StrResponse
|
|||||||
import io.legado.app.model.Debug
|
import io.legado.app.model.Debug
|
||||||
import io.legado.app.model.NoStackTraceException
|
import io.legado.app.model.NoStackTraceException
|
||||||
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
||||||
|
import io.legado.app.model.analyzeRule.RuleData
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
@@ -38,7 +39,7 @@ object WebBook {
|
|||||||
key: String,
|
key: String,
|
||||||
page: Int? = 1,
|
page: Int? = 1,
|
||||||
): ArrayList<SearchBook> {
|
): ArrayList<SearchBook> {
|
||||||
val variableBook = SearchBook()
|
val ruleData = RuleData()
|
||||||
bookSource.searchUrl?.let { searchUrl ->
|
bookSource.searchUrl?.let { searchUrl ->
|
||||||
val analyzeUrl = AnalyzeUrl(
|
val analyzeUrl = AnalyzeUrl(
|
||||||
mUrl = searchUrl,
|
mUrl = searchUrl,
|
||||||
@@ -47,7 +48,7 @@ object WebBook {
|
|||||||
baseUrl = bookSource.bookSourceUrl,
|
baseUrl = bookSource.bookSourceUrl,
|
||||||
headerMapF = bookSource.getHeaderMap(true),
|
headerMapF = bookSource.getHeaderMap(true),
|
||||||
source = bookSource,
|
source = bookSource,
|
||||||
ruleData = variableBook,
|
ruleData = ruleData,
|
||||||
)
|
)
|
||||||
var res = analyzeUrl.getStrResponseAwait()
|
var res = analyzeUrl.getStrResponseAwait()
|
||||||
//检测书源是否已登录
|
//检测书源是否已登录
|
||||||
@@ -59,7 +60,7 @@ object WebBook {
|
|||||||
return BookList.analyzeBookList(
|
return BookList.analyzeBookList(
|
||||||
scope = scope,
|
scope = scope,
|
||||||
bookSource = bookSource,
|
bookSource = bookSource,
|
||||||
variableBook = variableBook,
|
ruleData = ruleData,
|
||||||
analyzeUrl = analyzeUrl,
|
analyzeUrl = analyzeUrl,
|
||||||
baseUrl = res.url,
|
baseUrl = res.url,
|
||||||
body = res.body,
|
body = res.body,
|
||||||
@@ -90,13 +91,13 @@ object WebBook {
|
|||||||
url: String,
|
url: String,
|
||||||
page: Int? = 1,
|
page: Int? = 1,
|
||||||
): ArrayList<SearchBook> {
|
): ArrayList<SearchBook> {
|
||||||
val variableBook = SearchBook()
|
val ruleData = RuleData()
|
||||||
val analyzeUrl = AnalyzeUrl(
|
val analyzeUrl = AnalyzeUrl(
|
||||||
mUrl = url,
|
mUrl = url,
|
||||||
page = page,
|
page = page,
|
||||||
baseUrl = bookSource.bookSourceUrl,
|
baseUrl = bookSource.bookSourceUrl,
|
||||||
source = bookSource,
|
source = bookSource,
|
||||||
ruleData = variableBook,
|
ruleData = ruleData,
|
||||||
headerMapF = bookSource.getHeaderMap(true)
|
headerMapF = bookSource.getHeaderMap(true)
|
||||||
)
|
)
|
||||||
var res = analyzeUrl.getStrResponseAwait()
|
var res = analyzeUrl.getStrResponseAwait()
|
||||||
@@ -109,7 +110,7 @@ object WebBook {
|
|||||||
return BookList.analyzeBookList(
|
return BookList.analyzeBookList(
|
||||||
scope = scope,
|
scope = scope,
|
||||||
bookSource = bookSource,
|
bookSource = bookSource,
|
||||||
variableBook = variableBook,
|
ruleData = ruleData,
|
||||||
analyzeUrl = analyzeUrl,
|
analyzeUrl = analyzeUrl,
|
||||||
baseUrl = res.url,
|
baseUrl = res.url,
|
||||||
body = res.body,
|
body = res.body,
|
||||||
|
|||||||
Reference in New Issue
Block a user