package cn.flightfeather.thirdapp.common.net
|
|
import retrofit2.Call
|
import retrofit2.Callback
|
import retrofit2.Response
|
import cn.flightfeather.thirdapp.model.bean.BaseResponse
|
|
/**
|
* @author riku
|
* Date: 2020/8/4
|
* 相比于[ResponseBodyCallBack], 将返回结果用[BaseResponse]进行统一包装
|
*/
|
class ResponseBodyCallBack2<T>(private val resultCallBack: ResultCallBack2<T>?) : Callback<BaseResponse<T>> {
|
override fun onFailure(p0: Call<BaseResponse<T>>, p1: Throwable) {
|
resultCallBack?.onFailure("网络连接错误,请检查网络")
|
}
|
|
override fun onResponse(p0: Call<BaseResponse<T>>, p1: Response<BaseResponse<T>>) {
|
if (p1.isSuccessful && p1.body()?.success == true) {
|
resultCallBack?.onSuccess(p1.body()?.data, p1.body()?.message ?: "")
|
} else {
|
resultCallBack?.onFailure(p1.body()?.message ?: "")
|
}
|
}
|
|
}
|