adapterData method
Response
adapterData(
- Response response
Implementation
Response adapterData(Response response) {
String result;
// LogUtil.e('adapterData-->response=${response.toString()}');
String content = response.data.toString();
/// 成功时,直接格式化返回
if (response.statusCode == ExceptionHandle.success ||
response.statusCode == ExceptionHandle.success_not_content) {
if (content == null || content.isEmpty) {
content = DEFAULT;
}
result = content;
response.statusCode = ExceptionHandle.success;
} else {
if (response.statusCode == ExceptionHandle.not_found) {
/// 错误数据格式化后,按照成功数据返回
result = sprintf(FAILURE_FORMAT, [response.statusCode, NOT_FOUND]);
response.statusCode = ExceptionHandle.success;
} else {
if (content == null || content.isEmpty) {
// 一般为网络断开等异常
result = content;
} else {
String msg;
try {
content = content.replaceAll("\\", "");
if (SLASH == content.substring(0, 1)) {
content = content.substring(1, content.length - 1);
}
Map<String, dynamic> map = json.decode(content);
if (map.containsKey(ERROR) &&
map[ERROR].toString() != null &&
map[ERROR].toString() != "null") {
List errorJson = json.decode(map[ERROR].toString());
if (errorJson.length == 1) {
msg = errorJson[0][MSG];
} else {
if (map.containsKey(MSG)) {
msg = map[MSG];
} else if (map.containsKey(MSG)) {
msg = map[MSG];
} else {
msg = "";
}
}
} else {
if (map.containsKey(MSG)) {
msg = map[MSG];
} else if (map.containsKey(MSG)) {
msg = map[MSG];
} else {
msg = "";
}
}
result = sprintf(FAILURE_FORMAT, [response.statusCode, msg]);
// 401 token失效时,单独处理,其他一律为成功
if (response.statusCode == ExceptionHandle.unauthorized) {
response.statusCode = ExceptionHandle.unauthorized;
} else {
response.statusCode = ExceptionHandle.success;
}
} catch (e) {
LogUtil.e("异常信息:$e");
// 解析异常直接按照返回原数据处理(一般为返回500,503 HTML页面代码)
result = content;
}
}
}
}
LogUtil.e('adapterData 输入结果-->$result');
response.data = result;
return response;
}