Skip to content

Commit b4a6be8

Browse files
committed
v2.5.1
修复 1. 近期无法加载的问题 (fix #139)
1 parent 98b2d1a commit b4a6be8

File tree

21 files changed

+84
-63
lines changed

21 files changed

+84
-63
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
applicationId 'top.fumiama.copymanga'
1212
minSdkVersion 23
1313
targetSdkVersion 34
14-
versionCode 71
15-
versionName '2.5.0'
14+
versionCode 72
15+
versionName '2.5.1'
1616
resourceConfigurations += ['zh', 'zh-rCN']
1717

1818
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

app/src/main/java/top/fumiama/copymanga/api/Config.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ object Config {
5555
"region",
5656
if (net_use_foreign.value) "1" else "0"
5757
)
58-
.addHeader("platform", "3")
58+
.addHeader("platform", platform.value)
5959
.build()
6060
return field
6161
}
@@ -78,7 +78,7 @@ object Config {
7878
mHostApiUrlsMutex.withLock {
7979
if (mHostApiUrls.isNotEmpty()) return@runBlocking
8080
try {
81-
val u = getString(R.string.networkApiUrl).format(networkApiUrl.value)
81+
val u = getString(R.string.networkApiUrl).format(networkApiUrl.value, platform.value)
8282
val r = Gson().fromJson((apiProxy?.comancry(u) {
8383
DownloadTools.getHttpContent(it, referer, pc_ua)
8484
}?:DownloadTools.getHttpContent(u, referer, pc_ua)).decodeToString(), NetworkStructure::class.java)
@@ -107,6 +107,7 @@ object Config {
107107
val navTextInfo = UserPreferenceString("navTextInfo", R.string.navTextInfo)
108108
val proxy_key = PreferenceString(R.string.imgProxyCodeKeyID)
109109
val app_ver = PreferenceString("settings_cat_general_et_app_version", R.string.app_ver)
110+
val platform = PreferenceString("settings_cat_general_et_platform", R.string.platform)
110111
val token = UserPreferenceString("token", "", null)
111112
val pc_ua get() = MainActivity.mainWeakReference?.get()?.getString(R.string.pc_ua)?.format(app_ver.value)?:""
112113
val referer get() = MainActivity.mainWeakReference?.get()?.getString(R.string.referer)?.format(app_ver.value)?:""
@@ -143,5 +144,5 @@ object Config {
143144

144145
fun getChapterInfoApiUrl(path: String?, uuid: String?, version: Int) =
145146
MainActivity.mainWeakReference?.get()?.getString(R.string.chapterInfoApiUrl)
146-
?.format(myHostApiUrl.random(), path, if (version >= 2) "$version" else "" , uuid)
147+
?.format(myHostApiUrl.random(), path, if (version >= 2) "$version" else "" , uuid, platform.value)
147148
}

app/src/main/java/top/fumiama/copymanga/api/manga/Book.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import top.fumiama.dmzj.copymanga.R
1515
import java.io.File
1616

1717
class Book(val path: String, private val getString: (Int) -> String, private val exDir: File, private val loadCache: Boolean = false, private val mPassName: String? = null) {
18-
private val mBookApiUrl = getString(R.string.bookInfoApiUrl).format(Config.myHostApiUrl.random(), path)
18+
private val mBookApiUrl = getString(R.string.bookInfoApiUrl).format(Config.myHostApiUrl.random(), path, Config.platform.value)
1919
private val mUserAgent = getString(R.string.pc_ua).format(Config.app_ver.value)
2020
private var mBook: BookInfoStructure? = null
2121
private var mGroupPathWords = arrayOf<String>()

app/src/main/java/top/fumiama/copymanga/api/manga/Shelf.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import top.fumiama.dmzj.copymanga.R
1212
class Shelf(private val getString: (Int) -> String) {
1313
private val apiUrl: String get() = getString(R.string.shelfOperateApiUrl).format(Config.myHostApiUrl.random())
1414
private val queryApiUrlTemplate = getString(R.string.bookUserQueryApiUrl)
15-
private val addApiUrl get() = "$apiUrl?platform=3"
16-
private val delApiUrl get() = "${apiUrl}s?platform=3"
15+
private val addApiUrl get() = "$apiUrl?platform=${Config.platform.value}"
16+
private val delApiUrl get() = "${apiUrl}s?platform=${Config.platform.value}"
1717
suspend fun add(comicId: String): String = withContext(Dispatchers.IO) {
1818
if (comicId.isEmpty()) {
1919
return@withContext "空漫画ID"
@@ -68,7 +68,7 @@ class Shelf(private val getString: (Int) -> String) {
6868

6969
suspend fun query(pathWord: String): BookQueryStructure? = withContext(Dispatchers.IO) {
7070
try {
71-
val queryUrl = queryApiUrlTemplate.format(Config.myHostApiUrl.random(), pathWord)
71+
val queryUrl = queryApiUrlTemplate.format(Config.myHostApiUrl.random(), pathWord, Config.platform.value)
7272
(Config.apiProxy?.comancry(queryUrl) { url ->
7373
DownloadTools.getHttpContent(url, Config.referer)
7474
}?:DownloadTools.getHttpContent(queryUrl, Config.referer)).let {

app/src/main/java/top/fumiama/copymanga/api/manga/Volume.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class Volume(private val path: String, private val groupPathWord: String, getStr
3939
return@withContext mVolume
4040
}
4141

42-
private fun getApiUrl(offset: Int) = mGroupInfoApiUrlTemplate.format(Config.myHostApiUrl.random(), path, groupPathWord, offset)
42+
private fun getApiUrl(offset: Int) = mGroupInfoApiUrlTemplate.format(Config.myHostApiUrl.random(), path, groupPathWord, offset, Config.platform.value)
4343
private suspend fun download(re: Array<VolumeStructure?>, offset: Int, c: Int) = withContext(Dispatchers.IO) {
4444
Log.d("MyV", "下载偏移: $offset")
4545
getApiUrl(offset).let {

app/src/main/java/top/fumiama/copymanga/api/user/Member.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class Member(private val getString: (Int) -> String) {
4949
}
5050
try {
5151
val u = getString(R.string.memberInfoApiUrl)
52-
.format(Config.myHostApiUrl.random())
52+
.format(Config.myHostApiUrl.random(), Config.platform.value)
5353
val data = (Config.apiProxy?.comancry(u) {
5454
DownloadTools.getHttpContent(it)
5555
}?:DownloadTools.getHttpContent(u)).decodeToString()
@@ -97,15 +97,15 @@ class Member(private val getString: (Int) -> String) {
9797
}
9898

9999
private suspend fun postLogin(username: String, pwd: String, salt: Int): ByteArray? =
100-
getString(R.string.loginApiUrl).format(Config.myHostApiUrl.random()).let { u ->
100+
getString(R.string.loginApiUrl).format(Config.myHostApiUrl.random(), Config.platform.value).let { u ->
101101
val use: suspend (String) -> ByteArray? = { it: String ->
102102
DownloadTools.getApiConnection(it, "POST").let { c ->
103103
c.doOutput = true
104104
c.setRequestProperty(
105105
"content-type",
106106
"application/x-www-form-urlencoded;charset=utf-8"
107107
)
108-
c.setRequestProperty("platform", "3")
108+
c.setRequestProperty("platform", Config.platform.value)
109109
c.setRequestProperty("accept", "application/json")
110110
val r = if (!Config.net_use_foreign.value) "1" else "0"
111111
val pwdEncoded =
@@ -116,7 +116,7 @@ class Member(private val getString: (Int) -> String) {
116116
username,
117117
Charset.defaultCharset().name()
118118
)
119-
}&password=$pwdEncoded&salt=$salt&platform=3&authorization=Token+&version=${Config.app_ver.value}&source=copyApp&region=$r&webp=1".toByteArray()
119+
}&password=$pwdEncoded&salt=$salt&platform=${Config.platform.value}&authorization=Token+&version=${Config.app_ver.value}&source=copyApp&region=$r&webp=1".toByteArray()
120120
)
121121
c.outputStream.close()
122122
val b = c.inputStream.readBytes()
@@ -129,11 +129,11 @@ class Member(private val getString: (Int) -> String) {
129129

130130

131131
private suspend fun postComandyLogin(username: String, pwd: String, salt: Int) =
132-
getString(R.string.loginApiUrl).format(Config.myHostApiUrl.random()).let { u ->
132+
getString(R.string.loginApiUrl).format(Config.myHostApiUrl.random(), Config.platform.value).let { u ->
133133
val use: suspend (String) -> ByteArray? = { it: String ->
134134
DownloadTools.getComandyApiConnection(it, "POST", null, Config.pc_ua).apply {
135135
headers["content-type"] = "application/x-www-form-urlencoded;charset=utf-8"
136-
headers["platform"] = "3"
136+
headers["platform"] = Config.platform.value
137137
headers["accept"] = "application/json"
138138
val r = if (!Config.net_use_foreign.value) "1" else "0"
139139
val pwdEncoded =
@@ -143,7 +143,7 @@ class Member(private val getString: (Int) -> String) {
143143
username,
144144
Charset.defaultCharset().name()
145145
)
146-
}&password=$pwdEncoded&salt=$salt&platform=3&authorization=Token+&version=${Config.app_ver.value}&source=copyApp&region=$r&webp=1"
146+
}&password=$pwdEncoded&salt=$salt&platform=${Config.platform.value}&authorization=Token+&version=${Config.app_ver.value}&source=copyApp&region=$r&webp=1"
147147
}.let { capsule ->
148148
try {
149149
val para = Gson().toJson(capsule)

app/src/main/java/top/fumiama/copymanga/net/DownloadTools.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ object DownloadTools {
4646
Config.token.value?.let { tk ->
4747
setRequestProperty("authorization", "Token $tk")
4848
}
49-
setRequestProperty("platform", "3")
49+
setRequestProperty("platform", Config.platform.value)
5050
}
5151
Log.d("MyDT", "getConnection: $url\n${connection.requestProperties.map { "${it.key}: ${it.value}" }.joinToString("\n")}")
5252
return connection
@@ -74,7 +74,7 @@ object DownloadTools {
7474
capsule.headers["authorization"] = "Token $tk"
7575
}
7676
}
77-
capsule.headers["platform"] = "3"
77+
capsule.headers["platform"] = Config.platform.value
7878
capsule.headers["dt"] = SimpleDateFormat("yyyy.MM.dd", Locale.getDefault()).format(Calendar.getInstance().time)
7979
Log.d("MyDT", "getComandyConnection: $url\n${capsule.headers.map { "${it.key}: ${it.value}" }.joinToString("\n")}")
8080
capsule

app/src/main/java/top/fumiama/copymanga/ui/cardflow/history/HistoryFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import top.fumiama.dmzj.copymanga.R
1111
@OptIn(ExperimentalStdlibApi::class)
1212
class HistoryFragment : InfoCardLoader(R.layout.fragment_history, R.id.action_nav_history_to_nav_book, isHistoryBook = true) {
1313
override fun getApiUrl() =
14-
getString(R.string.historyApiUrl).format(Config.myHostApiUrl.random(), page * 21)
14+
getString(R.string.historyApiUrl).format(Config.myHostApiUrl.random(), page * 21, Config.platform.value)
1515

1616
override fun onCreate(savedInstanceState: Bundle?) {
1717
if (MainActivity.member?.hasLogin != true) {

app/src/main/java/top/fumiama/copymanga/ui/cardflow/newest/NewestFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ import top.fumiama.dmzj.copymanga.R
77
@ExperimentalStdlibApi
88
class NewestFragment : InfoCardLoader(R.layout.fragment_newest, R.id.action_nav_newest_to_nav_book, true) {
99
override fun getApiUrl() =
10-
getString(R.string.newestApiUrl).format(Config.myHostApiUrl.random(), page * 21)
10+
getString(R.string.newestApiUrl).format(Config.myHostApiUrl.random(), page * 21, Config.platform.value)
1111
}

app/src/main/java/top/fumiama/copymanga/ui/cardflow/rank/RankFragment.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ class RankFragment : InfoCardLoader(R.layout.fragment_rank, R.id.action_nav_rank
4848

4949
override fun getApiUrl() =
5050
getString(R.string.rankApiUrl).format(
51-
Config.myHostApiUrl.random(),
52-
page * 21,
53-
sortWay[sortValue],
54-
audienceWay[audience]
55-
)
51+
Config.myHostApiUrl.random(),
52+
page * 21,
53+
sortWay[sortValue],
54+
audienceWay[audience],
55+
Config.platform.value
56+
)
5657

5758
override fun setListeners() {
5859
super.setListeners()

0 commit comments

Comments
 (0)