增加了Token刷新机制
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package com.mogo.cloud.network.interceptor
|
||||
|
||||
import com.mogo.cloud.network.BaseData
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient
|
||||
import com.mogo.utils.logger.Logger
|
||||
import com.mogo.utils.network.utils.GsonUtil
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.MediaType
|
||||
import okhttp3.Response
|
||||
@@ -26,7 +29,16 @@ class HttpPassportInterceptor : Interceptor {
|
||||
bodySize = if (contentLength != -1L) "$contentLength-byte" else "unknown-length"
|
||||
contentType = responseBody.contentType()
|
||||
responseContent = responseBody.string()
|
||||
Logger.d("响应结果", "responseContent:$responseContent")
|
||||
val response: BaseData<*>? = GsonUtil.objectFromJson(responseContent, BaseData::class.java)
|
||||
// 处理Token异常
|
||||
if (response?.code == 100046 ||
|
||||
response?.code == 100045 ||
|
||||
response?.code == 100005 ||
|
||||
response?.code == 100006 ||
|
||||
response?.code == 520003) {
|
||||
Logger.d("HttpPassportInterceptor", "Token 异常:$response")
|
||||
MoGoAiCloudClient.getInstance().refreshToken()
|
||||
}
|
||||
consumedResponse = true
|
||||
}
|
||||
return if (consumedResponse) response.newBuilder().body(ResponseBody.create(contentType, responseContent)).build() else response
|
||||
|
||||
Reference in New Issue
Block a user