onError method
网络相关错误
Implementation
@override
void onError(DioError err, ErrorInterceptorHandler handler) {
if (err.response == null) {
if (!err.message.startsWith('CodeError:'))
XLog.e(err.message, '###空Response错误### uri:${err.requestOptions.path}');
return handler.reject(err);
}
int? statusCode = err.response?.statusCode;
String? errorMsg = err.response?.statusMessage;
switch (statusCode) {
case 401: // 用非 200 状态吗,确定未登录
RespData respData = mapToRespData(err.response?.data);
respData.onUnLogin?.call();
break;
default:
errorMsg = 'code:$statusCode\n$errorMsg';
break;
}
XLog.e(err.response, '###非200错误###');
return handler.reject(err);
}