18034727885
2026-05-13 03c43bb0d1abe7a22ce76bf903cc3c1e04648e44
common/src/main/java/com/xw/common/net/BaseHttpManager.kt
@@ -4,11 +4,10 @@
import com.xw.common.net.interceptor.HeaderInterceptor
import com.xw.common.net.interceptor.LoggingInterceptor
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Interceptor
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.OkHttpClient
import okhttp3.RequestBody
import org.json.JSONArray
import org.json.JSONObject
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory
@@ -35,23 +34,27 @@
    }
    fun <T> create(baseUrl: String, c: Class<T>): T {
    fun <T> create(
        baseUrl: String,
        c: Class<T>,
        interceptor: Interceptor = HeaderInterceptor()
    ): T {
        return Retrofit.Builder()
            .baseUrl(baseUrl.toHttpUrl())
            .client(provideOKHttpClient())
            .client(provideOKHttpClient(interceptor))
            .addConverterFactory(ScalarsConverterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build()
            .create(c)
    }
    private fun provideOKHttpClient(): OkHttpClient {
    private fun provideOKHttpClient(interceptor: Interceptor): OkHttpClient {
        val builder = OkHttpClient.Builder()
            .connectTimeout(30, TimeUnit.SECONDS)
            .readTimeout(30, TimeUnit.SECONDS)
            .writeTimeout(30, TimeUnit.SECONDS)
            .retryOnConnectionFailure(true)
            .addInterceptor(HeaderInterceptor())
            .addInterceptor(interceptor)
            .addInterceptor(LoggingInterceptor())
        return builder.build()
    }