This commit is contained in:
Eric85710 2026-05-30 17:00:19 +08:00
parent 22796683d1
commit 88d361d00d
2 changed files with 17 additions and 3 deletions

View file

@ -36,8 +36,8 @@ object NetworkModule {
@Singleton @Singleton
fun provideRetrofit(moshi: Moshi, okHttpClient: OkHttpClient): Retrofit { fun provideRetrofit(moshi: Moshi, okHttpClient: OkHttpClient): Retrofit {
return Retrofit.Builder() return Retrofit.Builder()
.baseUrl("http://192.168.0.217/") .baseUrl("https://192.168.0.217/")
.client(okHttpClient) // 🔥 關鍵:將攔截器綁定到 Retrofit .client(okHttpClient) // 關鍵:將攔截器綁定到 Retrofit
.addConverterFactory(MoshiConverterFactory.create(moshi)) .addConverterFactory(MoshiConverterFactory.create(moshi))
.build() .build()
} }
@ -48,6 +48,9 @@ object NetworkModule {
return OkHttpClient.Builder() return OkHttpClient.Builder()
.connectTimeout(15, TimeUnit.SECONDS) .connectTimeout(15, TimeUnit.SECONDS)
.readTimeout(15, TimeUnit.SECONDS) .readTimeout(15, TimeUnit.SECONDS)
// 🟢 修正 2:如果使用 IP 且噴出 Hostname 錯誤才需要加這段。
// 如果後端憑證的 SAN/CN 已經有包含 192.168.0.217,這行可以刪除。
.hostnameVerifier { hostname, _ -> hostname == "192.168.0.217" }
.addInterceptor { chain -> .addInterceptor { chain ->
// 1. 動態獲取「目前選中帳號」的 Token // 1. 動態獲取「目前選中帳號」的 Token
// 使用 first() 確保只取目前最新的那一個值 // 使用 first() 確保只取目前最新的那一個值

View file

@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<network-security-config> <network-security-config>
<domain-config cleartextTrafficPermitted="true"> <domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">192.168.0.217</domain> <domain includeSubdomains="true">192.168.0.217</domain>
<trust-anchors>
<certificates src="system" />
<certificates src="@raw/root" />
</trust-anchors>
</domain-config> </domain-config>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config> </network-security-config>