fix:二级目录书源 正文不能通过书源检测

pull/1515/head
Xwite 3 years ago
parent 739f889949
commit 34ad6007b2
  1. 2
      app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt
  2. 7
      app/src/main/java/io/legado/app/model/webBook/WebBook.kt
  3. 4
      app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt

@ -194,7 +194,7 @@ object BookChapterList {
if (bookChapter.url.isEmpty()) { if (bookChapter.url.isEmpty()) {
if (bookChapter.isVolume) { if (bookChapter.isVolume) {
bookChapter.url = bookChapter.title bookChapter.url = bookChapter.title
Debug.log(bookSource.bookSourceUrl, "目录${index}(Volume)未获取到url,使用章节标题替代") Debug.log(bookSource.bookSourceUrl, "一级目录${index}未获取到url,使用章节标题替代")
} else { } else {
bookChapter.url = baseUrl bookChapter.url = baseUrl
Debug.log(bookSource.bookSourceUrl, "目录${index}未获取到url,使用baseUrl替代") Debug.log(bookSource.bookSourceUrl, "目录${index}未获取到url,使用baseUrl替代")

@ -261,8 +261,11 @@ object WebBook {
Debug.log(bookSource.bookSourceUrl, "⇒正文规则为空,使用章节链接:${bookChapter.url}") Debug.log(bookSource.bookSourceUrl, "⇒正文规则为空,使用章节链接:${bookChapter.url}")
return bookChapter.url return bookChapter.url
} }
//章节名为卷名时 且 章节url没获取到,返回空白 if(bookChapter.isVolume && bookChapter.url == bookChapter.title) {
if(bookChapter.isVolume && bookChapter.url == bookChapter.title) return "" //不返回空值,是为了过书源检测
Debug.log(bookSource.bookSourceUrl, "⇒一级目录正文,使用章节标题:${bookChapter.title}")
return bookChapter.title
}
return if (bookChapter.url == book.bookUrl && !book.tocHtml.isNullOrEmpty()) { return if (bookChapter.url == book.bookUrl && !book.tocHtml.isNullOrEmpty()) {
BookContent.analyzeContent( BookContent.analyzeContent(
scope = scope, scope = scope,

@ -332,7 +332,7 @@ object ChapterProvider {
} }
lineIndex == layout.lineCount - 1 -> { lineIndex == layout.lineCount - 1 -> {
//最后一行 //最后一行
textLine.text = "$words\n" textLine.text = if(isVolumeTitle) "" else "$words\n"
isLastLine = true isLastLine = true
//标题居中 //标题居中
val startX = if (isTitle && ReadBookConfig.titleMode == 1 || isVolumeTitle) val startX = if (isTitle && ReadBookConfig.titleMode == 1 || isVolumeTitle)
@ -349,7 +349,7 @@ object ChapterProvider {
} }
else -> { else -> {
//中间行 //中间行
textLine.text = words textLine.text = if(isVolumeTitle) "" else words
addCharsToLineMiddle( addCharsToLineMiddle(
absStartX, absStartX,
textLine, textLine,

Loading…
Cancel
Save