1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package cn.flightfeather.thirdappmodule.common.net
 
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import cn.flightfeather.thirdappmodule.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 ?: "")
        }
    }
 
}