Bläddra i källkod

feat 接口最多支持180s延时(兼容通联支付问题)

RobinTan1024 4 år sedan
förälder
incheckning
d99c3173e2

+ 3 - 0
app/src/main/java/com/doverfuelingsolutions/issp/api/WayneApiConfig.kt

@@ -7,6 +7,9 @@ class WayneApiConfig {
 
     companion object {
 
+        const val timeoutConnect = 600L
+        const val timeoutAll = 180L
+
         const val PATH_BASE_TOKEN = "token"
         const val PATH_BASE_DEVICE_SESSION = "api/DeviceManagement/GetCurrentSessionInfo"
         const val PATH_TRX_TRANS = "api/Transactions"

+ 14 - 8
app/src/main/java/com/doverfuelingsolutions/issp/api/basic/RetrofitUtil.kt

@@ -1,19 +1,25 @@
 package com.doverfuelingsolutions.issp.api.basic
 
+import com.doverfuelingsolutions.issp.api.WayneApiConfig
 import okhttp3.OkHttpClient
 import retrofit2.Retrofit
 import retrofit2.converter.gson.GsonConverterFactory
+import java.time.Duration
+import java.util.concurrent.TimeUnit
 
 object RetrofitUtil {
 
-    private val loggingInterceptor: LoggingInterceptor by lazy { LoggingInterceptor() }
-    private val authInterceptor: AuthInterceptor by lazy { AuthInterceptor() }
-    private val basicHttpBuilder: OkHttpClient.Builder by lazy { OkHttpClient.Builder().addInterceptor(loggingInterceptor) }
-    private val authHttpBuilder: OkHttpClient.Builder by lazy {
-        OkHttpClient.Builder()
-            .addInterceptor(loggingInterceptor)
-            .addInterceptor(authInterceptor)
-    }
+    private val loggingInterceptor = LoggingInterceptor()
+    private val authInterceptor = AuthInterceptor()
+    private val basicHttpBuilder = OkHttpClient.Builder()
+        .connectTimeout(WayneApiConfig.timeoutConnect, TimeUnit.SECONDS)
+        .callTimeout(WayneApiConfig.timeoutAll, TimeUnit.SECONDS) // timeout for complete call
+        .addInterceptor(loggingInterceptor)
+    private val authHttpBuilder = OkHttpClient.Builder()
+        .connectTimeout(WayneApiConfig.timeoutConnect, TimeUnit.SECONDS)
+        .callTimeout(WayneApiConfig.timeoutAll, TimeUnit.SECONDS)
+        .addInterceptor(loggingInterceptor)
+        .addInterceptor(authInterceptor)
 
     private val mGsonConverterFactory: GsonConverterFactory by lazy { GsonConverterFactory.create() }