Skip to content

Commit

Permalink
增加 Github Api 异常提示
Browse files Browse the repository at this point in the history
  • Loading branch information
CarGuo committed Apr 10, 2020
1 parent 8e796ea commit 542bc35
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 5 deletions.
9 changes: 9 additions & 0 deletions lib/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ class _FlutterReduxAppState extends State<FlutterReduxApp>
_context = context;
return NavigatorUtils.pageContainer(new LoginPage());
},

///使用 ModalRoute.of(context).settings.arguments; 获取参数
PhotoViewPage.sName: (context) {
return PhotoViewPage();
Expand Down Expand Up @@ -138,12 +139,20 @@ mixin HttpErrorListener on State<FlutterReduxApp> {
case 404:
Fluttertoast.showToast(
msg: GSYLocalizations.i18n(_context).network_error_404);
case 422:
Fluttertoast.showToast(
msg: GSYLocalizations.i18n(_context).network_error_422);
break;
case Code.NETWORK_TIMEOUT:
//超时
Fluttertoast.showToast(
msg: GSYLocalizations.i18n(_context).network_error_timeout);
break;
case Code.GITHUB_API_REFUSED:
//超时
Fluttertoast.showToast(
msg: GSYLocalizations.i18n(_context).network_error_timeout);
break;
default:
Fluttertoast.showToast(
msg: GSYLocalizations.i18n(_context).network_error_unknown +
Expand Down
4 changes: 4 additions & 0 deletions lib/common/localization/gsy_string_base.dart
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,16 @@ abstract class GSYStringBase {

String get network_error_404;

String get network_error_422;

String get network_error_timeout;

String get network_error_unknown;

String get network_error;

String get github_refused;

String get load_more_not;

String get load_more_text;
Expand Down
6 changes: 5 additions & 1 deletion lib/common/localization/gsy_string_en.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:gsy_github_app_flutter/common/localization/gsy_string_base.dart';
import 'package:gsy_github_app_flutter/common/localization/gsy_string_base.dart';

/**
* Created by guoshuyu
Expand Down Expand Up @@ -110,12 +111,15 @@ class GSYStringEn extends GSYStringBase {
@override
String network_error_404 = "Http 404";
@override
String network_error_422 = "Request Body Error,Please Check Github ClientId";
@override
String network_error_timeout = "Http timeout";
@override
String network_error_unknown = "Http unknown error";
@override
String network_error = "network error";

@override
String github_refused = "Github Api Error[OS Error: Connection refused]. Please switch networks or try again later ";
@override
String load_more_not = "nothing";
@override
Expand Down
7 changes: 5 additions & 2 deletions lib/common/localization/gsy_string_zh.dart
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class GSYStringZh extends GSYStringBase {
String home_theme_6 = "主题6";

@override
String login_username_hint_text = "请输入github用户名";
String login_username_hint_text = "github用户名,清不要用邮箱";
@override
String login_password_hint_text = "请输入密码";
@override
Expand All @@ -111,12 +111,15 @@ class GSYStringZh extends GSYStringBase {
@override
String network_error_404 = "404错误";
@override
String network_error_422 = "请求实体异常,请确保 Github ClientId 等信息正确。";
@override
String network_error_timeout = "请求超时";
@override
String network_error_unknown = "其他异常";
@override
String network_error = "网络错误";

@override
String github_refused = "Github Api 出现异常[Connection refused],建议换个网络环境或者稍后再试";
@override
String load_more_not = "没有更多数据";
@override
Expand Down
6 changes: 6 additions & 0 deletions lib/common/net/code.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,18 @@ class Code {
///网络返回数据格式化一次
static const NETWORK_JSON_EXCEPTION = -3;

///Github APi Connection refused
static const GITHUB_API_REFUSED = -4;

static const SUCCESS = 200;

static errorHandleFunction(code, message, noTip) {
if (noTip) {
return message;
}
if(message != null && message is String && message.contains("Connection refused")) {
code = GITHUB_API_REFUSED;
}
eventBus.fire(new HttpErrorEvent(code, message));
return message;
}
Expand Down
10 changes: 8 additions & 2 deletions lib/common/net/interceptors/log_interceptor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,12 @@ class LogsInterceptors extends InterceptorsWrapper {
}
try {
addLogic(sRequestHttpUrl, options.path ?? "");
var data = options.data ?? Map<String, dynamic>();
var data;
if (options.data is Map) {
data = options.data;
} else {
data = Map<String, dynamic>();
}
var map = {
"header:": {...options.headers},
};
Expand All @@ -39,6 +44,7 @@ class LogsInterceptors extends InterceptorsWrapper {
}
addLogic(sHttpRequest, map);
} catch (e) {
print("########2");
print(e);
}
return options;
Expand Down Expand Up @@ -85,7 +91,7 @@ class LogsInterceptors extends InterceptorsWrapper {
onError(DioError err) async {
if (Config.DEBUG) {
print('请求异常: ' + err.toString());
print('请求异常信息: ' + err.response?.toString() ?? "");
print('请求异常信息: ' + (err.response?.toString() ?? ""));
}
try {
addLogic(sHttpErrorUrl, err.request.path ?? "null");
Expand Down

0 comments on commit 542bc35

Please sign in to comment.