This commit is contained in:
zhongchao
2022-03-22 10:07:10 +08:00
parent 3a14b5e37d
commit a39f310331
42 changed files with 1317 additions and 201 deletions

View File

@@ -2,6 +2,7 @@ package com.mogo.eagle.core.network
import androidx.lifecycle.LifecycleOwner
import com.mogo.eagle.core.data.BaseResponse
import com.mogo.eagle.core.data.Response
import com.mogo.eagle.core.network.exception.ApiException
import com.mogo.eagle.core.network.exception.CommonException.Companion.NETWORK_EXCEPTION
import com.mogo.eagle.core.network.exception.CommonException.Companion.NULL_EXCEPTION
@@ -65,7 +66,13 @@ class Request<T> {
}
val result = deferred.await()
if (result != null && result is BaseResponse<*>) {
if (result != null && (result is BaseResponse<*>)) {
if (result.code == 0 || result.code == 200) {
onSuccess?.invoke(result)
} else {
throw ApiException(result.code, result.msg)
}
} else if (result is Response<*>) {
if (result.code == 0 || result.code == 200) {
onSuccess?.invoke(result)
} else {
@@ -114,3 +121,8 @@ fun cancel(requestKey: String) {
suspend fun <T : Any> apiCall(call: suspend () -> BaseResponse<T>): BaseResponse<T> {
return call.invoke()
}
suspend fun <T : Any> apiResponseCall(call: suspend () -> Response<T>): Response<T> {
return call.invoke()
}