Преглед изворни кода

Merge branch 'gedoor:master' into master

Xwite пре 4 година
родитељ
комит
a84bb4264a

+ 5 - 0
app/src/main/assets/updateLog.md

@@ -11,6 +11,11 @@
 * 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。
 * 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
 
+**2022/05/27**
+
+* 书源详情页规则添加刷新时重新获取目录页链接Url的配置,true or false
+* 修复bug
+
 **2022/05/26**
 
 * 修复部分txt章节结尾乱码bug

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
app/src/main/assets/web/bookshelf/css/detail.c0f21c6a.css


+ 2 - 2
app/src/main/assets/web/bookshelf/index.html

@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="zh-CN" style="padding: 0;height:100%"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"><link rel="icon" href="../favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"><title>Legado Bookshelf</title><link href="css/about.4f195837.css" rel="prefetch"><link href="css/detail.101805b5.css" rel="prefetch"><link href="js/about.c6f22b90.js" rel="prefetch"><link href="js/detail.b4b1641f.js" rel="prefetch"><link href="css/app.e4c919b7.css" rel="preload" as="style"><link href="css/chunk-vendors.bd1373b6.css" rel="preload" as="style"><link href="js/app.d80c5b22.js" rel="preload" as="script"><link href="js/chunk-vendors.df82d22c.js" rel="preload" as="script"><link href="css/chunk-vendors.bd1373b6.css" rel="stylesheet"><link href="css/app.e4c919b7.css" rel="stylesheet"></head><style>body::-webkit-scrollbar {
+<!DOCTYPE html><html lang="zh-CN" style="padding: 0;height:100%"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"><link rel="icon" href="../favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"><title>Legado Bookshelf</title><link href="css/about.4f195837.css" rel="prefetch"><link href="css/detail.c0f21c6a.css" rel="prefetch"><link href="js/about.f487d340.js" rel="prefetch"><link href="js/detail.42f382aa.js" rel="prefetch"><link href="css/app.e4c919b7.css" rel="preload" as="style"><link href="css/chunk-vendors.bd1373b6.css" rel="preload" as="style"><link href="js/app.ee9eb4c0.js" rel="preload" as="script"><link href="js/chunk-vendors.df82d22c.js" rel="preload" as="script"><link href="css/chunk-vendors.bd1373b6.css" rel="stylesheet"><link href="css/app.e4c919b7.css" rel="stylesheet"></head><style>body::-webkit-scrollbar {
         display: none;
-    }</style><body style="margin: 0;height:100%"><noscript><strong>We're sorry but yd-web-tool doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.df82d22c.js"></script><script src="js/app.d80c5b22.js"></script></body></html>
+    }</style><body style="margin: 0;height:100%"><noscript><strong>We're sorry but yd-web-tool doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.df82d22c.js"></script><script src="js/app.ee9eb4c0.js"></script></body></html>

+ 0 - 0
app/src/main/assets/web/bookshelf/js/about.c6f22b90.js → app/src/main/assets/web/bookshelf/js/about.f487d340.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
app/src/main/assets/web/bookshelf/js/app.ee9eb4c0.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
app/src/main/assets/web/bookshelf/js/detail.42f382aa.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
app/src/main/assets/web/bookshelf/js/detail.b4b1641f.js


+ 4 - 0
app/src/main/java/io/legado/app/data/entities/BookSource.kt

@@ -143,6 +143,10 @@ data class BookSource(
 
     fun getContentRule() = ruleContent ?: ContentRule()
 
+    fun isReGetTocUrlOnRefresh(): Boolean {
+        return ruleBookInfo?.reGetTocUrlOnRefresh.isTrue()
+    }
+
     fun getDisPlayNameGroup(): String {
         return if (bookSourceGroup.isNullOrBlank()) {
             bookSourceName

+ 2 - 1
app/src/main/java/io/legado/app/data/entities/rule/BookInfoRule.kt

@@ -17,5 +17,6 @@ data class BookInfoRule(
     var tocUrl: String? = null,
     var wordCount: String? = null,
     var canReName: String? = null,
-    var downloadUrls: String? = null
+    var downloadUrls: String? = null,
+    var reGetTocUrlOnRefresh: String? = null
 ) : Parcelable

+ 7 - 2
app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt

@@ -217,7 +217,9 @@ class BookSourceEditActivity :
             add(EditEntity("header", source?.header, R.string.source_http_header))
             add(
                 EditEntity(
-                    "concurrentRate", source?.concurrentRate, R.string.source_concurrent_rate
+                    "concurrentRate",
+                    source?.concurrentRate,
+                    R.string.source_concurrent_rate
                 )
             )
         }
@@ -267,6 +269,7 @@ class BookSourceEditActivity :
             add(EditEntity("tocUrl", ir?.tocUrl, R.string.rule_toc_url))
             add(EditEntity("canReName", ir?.canReName, R.string.rule_can_re_name))
             add(EditEntity("downloadUrls", ir?.downloadUrls, R.string.download_url_rule))
+            add(EditEntity("reGetTocUrl", ir?.reGetTocUrlOnRefresh, R.string.rule_re_get_toc_url))
         }
         //目录页
         val tr = source?.getTocRule()
@@ -397,7 +400,9 @@ class BookSourceEditActivity :
                 "tocUrl" -> bookInfoRule.tocUrl =
                     viewModel.ruleComplete(it.value, bookInfoRule.init, 2)
                 "canReName" -> bookInfoRule.canReName = it.value
-                "downloadUrls" -> bookInfoRule.downloadUrls = viewModel.ruleComplete(it.value, bookInfoRule.init)
+                "downloadUrls" -> bookInfoRule.downloadUrls =
+                    viewModel.ruleComplete(it.value, bookInfoRule.init)
+                "reGetTocUrl" -> bookInfoRule.reGetTocUrlOnRefresh = it.value
             }
         }
         tocEntities.forEach {

+ 2 - 1
app/src/main/java/io/legado/app/ui/browser/WebViewActivity.kt

@@ -27,7 +27,6 @@ import io.legado.app.ui.document.HandleFileContract
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import java.net.URLDecoder
-import kotlinx.coroutines.runBlocking
 
 class WebViewActivity : VMBaseActivity<ActivityWebViewBinding, WebViewModel>() {
 
@@ -72,6 +71,8 @@ class WebViewActivity : VMBaseActivity<ActivityWebViewBinding, WebViewModel>() {
                     viewModel.saveVerificationResult {
                         finish()
                     }
+                } else {
+                    finish()
                 }
             }
         }

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/MainViewModel.kt

@@ -116,7 +116,7 @@ class MainViewModel(application: Application) : BaseViewModel(application) {
         onUpTocBooks.add(book.bookUrl)
         postEvent(EventBus.UP_BOOKSHELF, book.bookUrl)
         execute(context = upTocPool) {
-            if (book.tocUrl.isBlank()) {
+            if (book.tocUrl.isBlank() || source.isReGetTocUrlOnRefresh()) {
                 WebBook.getBookInfoAwait(this, source, book)
             }
             val toc = WebBook.getChapterListAwait(this, source, book).getOrThrow()

+ 1 - 0
app/src/main/res/values-es-rES/strings.xml

@@ -416,6 +416,7 @@
     <string name="rule_is_volume">Volume mark(isVolume)</string>
     <string name="rule_is_vip">VIP标识(isVip)</string>
     <string name="rule_update_time">更新时间(ChapterInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文规则(content)</string>
     <string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string>
     <string name="rule_web_js">WebViewJs(webJs)</string>

+ 1 - 0
app/src/main/res/values-ja-rJP/strings.xml

@@ -420,6 +420,7 @@
     <string name="rule_is_volume">Volume mark(isVolume)</string>
     <string name="rule_is_vip">VIP标识(isVip)</string>
     <string name="rule_update_time">更新时间(ChapterInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文规则(content)</string>
     <string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string>
     <string name="rule_web_js">WebViewJs(webJs)</string>

+ 1 - 0
app/src/main/res/values-pt-rBR/strings.xml

@@ -418,6 +418,7 @@
     <string name="rule_is_volume">卷标识(isVolume)</string>
     <string name="rule_is_vip">VIP标识(éVip)</string>
     <string name="rule_update_time">更新时间(capítuloInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文规则(conteúdo)</string>
     <string name="rule_next_content">正文下一页URL规则(proxConteúdoUrl)</string>
     <string name="rule_web_js">WebViewJs(webJs)</string>

+ 1 - 0
app/src/main/res/values-zh-rHK/strings.xml

@@ -415,6 +415,7 @@
     <string name="rule_is_volume">Volume標識(isVolume)</string>
     <string name="rule_is_vip">VIP 標識 (isVip)</string>
     <string name="rule_update_time">更新時間 (ChapterInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文規則 (content)</string>
     <string name="rule_next_content">正文下一頁 URL 規則 (nextContentUrl)</string>
     <string name="rule_web_js">WebViewJs (webJs)</string>

+ 1 - 0
app/src/main/res/values-zh-rTW/strings.xml

@@ -419,6 +419,7 @@
     <string name="rule_is_volume">Volume標識(isVolume)</string>
     <string name="rule_is_vip">VIP標識(isVip)</string>
     <string name="rule_update_time">更新時間(ChapterInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文規則(content)</string>
     <string name="rule_next_content">正文下一頁URL規則(nextContentUrl)</string>
     <string name="rule_web_js">WebViewJs(webJs)</string>

+ 1 - 0
app/src/main/res/values-zh/strings.xml

@@ -419,6 +419,7 @@
     <string name="rule_is_volume">Volume标识(isVolume)</string>
     <string name="rule_is_vip">VIP标识(isVip)</string>
     <string name="rule_update_time">更新时间(ChapterInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文规则(content)</string>
     <string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string>
     <string name="rule_web_js">WebViewJs(webJs)</string>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -420,6 +420,7 @@
     <string name="rule_is_volume">卷标识(isVolume)</string>
     <string name="rule_is_vip">VIP标识(isVip)</string>
     <string name="rule_update_time">更新时间(ChapterInfo)</string>
+    <string name="rule_re_get_toc_url">刷新时重新获取目录Url(reGetTocUrlOnRefresh)</string>
     <string name="rule_book_content">正文规则(content)</string>
     <string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string>
     <string name="rule_web_js">WebViewJs(webJs)</string>

Неке датотеке нису приказане због велике количине промена