adapterData method
Response
adapterData(
- Response response
Implementation
Response<dynamic> adapterData(Response response) {
String result;
String content = response.data?.toString() ?? '';
if (content.isEmpty) {
// 一般为网络断开等异常
result = content;
} else {
String msg;
try {
content = content.replaceAll(r'\', '');
if (_kSlash == content.substring(0, 1)) {
content = content.substring(1, content.length - 1);
}
final Map<String, dynamic> map =
json.decode(content) as Map<String, dynamic>;
if (map.containsKey(_kMessage)) {
msg = map[_kMessage] as String;
} else if (map.containsKey(_kMsg)) {
msg = map[_kMsg] as String;
} else {
msg = '未知异常';
}
result = sprintf(_kFailureFormat, [response.statusCode, msg]);
} catch (e) {
// Log.d('异常信息:$e');
// 解析异常直接按照返回原数据处理(一般为返回500,503 HTML页面代码)
result = sprintf(_kFailureFormat,
[response.statusCode, '服务器异常(${response.statusCode})']);
}
}
response.data = result;
return response;
}