getDioError method
这里封装了一个 BaseError 类,会根据后端返回的code返回不同的错误类
Implementation
BaseError getDioError(Object obj) {
switch (obj.runtimeType) {
case DioError:
if ((obj as DioError).type == DioErrorType.response) {
final Response? response = obj.response;
if (response?.statusCode == 401) {
return NeedLogin();
} else if (response?.statusCode == 403) {
return NeedAuth();
} else if (response?.statusCode == 408) {
return UserNotExist();
} else if (response?.statusCode == 409) {
return PwdNotMatch();
} else if (response?.statusCode == 405) {
return UserNameEmpty();
} else if (response?.statusCode == 406) {
return PwdEmpty();
} else {
return OtherError(
statusCode: response?.statusCode,
statusMessage: response?.statusMessage,
);
}
}
}
return OtherError();
}