diff --git a/src/zh/zaimanhua/build.gradle b/src/zh/zaimanhua/build.gradle index f3d45e989..530cdfd16 100644 --- a/src/zh/zaimanhua/build.gradle +++ b/src/zh/zaimanhua/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Zaimanhua' extClass = '.Zaimanhua' - extVersionCode = 9 + extVersionCode = 10 isNsfw = false } diff --git a/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt b/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt index 025558b5f..789bf8760 100644 --- a/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt +++ b/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt @@ -132,7 +132,7 @@ class Zaimanhua : HttpSource(), ConfigurableSource { // path: "/comic/detail/mangaId" override fun mangaDetailsRequest(manga: SManga): Request = - GET("$apiUrl/comic/detail/${manga.url}?channel=android", apiHeaders) + GET("$apiUrl/comic/detail/${manga.url}?_v=2.2.5", apiHeaders) override fun mangaDetailsParse(response: Response): SManga { val result = response.parseAs>>() @@ -163,7 +163,7 @@ class Zaimanhua : HttpSource(), ConfigurableSource { // path: "/comic/chapter/mangaId/chapterId" private fun pageListApiRequest(path: String): Request = - GET("$apiUrl/comic/chapter/$path", apiHeaders, USE_CACHE) + GET("$apiUrl/comic/chapter/$path?_v=2.2.5", apiHeaders, USE_CACHE) override fun pageListParse(response: Response): List = throw UnsupportedOperationException() @@ -173,8 +173,11 @@ class Zaimanhua : HttpSource(), ConfigurableSource { if (result.errmsg.isNotBlank()) { throw Exception(result.errmsg) } else { + if (!result.data.data!!.canRead) { + throw Exception("用户权限不足,请提升用户等级") + } return Observable.just( - result.data.data!!.images.mapIndexed { index, it -> + result.data.data.images.mapIndexed { index, it -> val fragment = json.encodeToString(ImageRetryParamsDto(chapter.url, index)) Page(index, imageUrl = "$it#$fragment") }, @@ -266,6 +269,7 @@ class Zaimanhua : HttpSource(), ConfigurableSource { companion object { val USE_CACHE = CacheControl.Builder().maxStale(170, TimeUnit.SECONDS).build() } + override fun setupPreferenceScreen(screen: PreferenceScreen) { ListPreference(screen.context).apply { EditTextPreference(screen.context).apply { diff --git a/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/ZaimanhuaDto.kt b/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/ZaimanhuaDto.kt index 27ae9e4d3..74b5a0de5 100644 --- a/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/ZaimanhuaDto.kt +++ b/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/ZaimanhuaDto.kt @@ -93,6 +93,7 @@ class ChapterDto( class ChapterImagesDto( @SerialName("page_url_hd") val images: List, + val canRead: Boolean, ) @Serializable