Skip to content

Commit 64a4c47

Browse files
committed
update dio
1 parent 9b44d05 commit 64a4c47

File tree

8 files changed

+35
-29
lines changed

8 files changed

+35
-29
lines changed

lib/common/net/api.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class HttpManager {
5757
if (e.response != null) {
5858
errorResponse = e.response;
5959
} else {
60-
errorResponse = new Response(statusCode: 666, request: RequestOptions(path: url));
60+
errorResponse = new Response(statusCode: 666, requestOptions: RequestOptions(path: url));
6161
}
6262
if (e.type == DioErrorType.connectTimeout ||
6363
e.type == DioErrorType.receiveTimeout) {

lib/common/net/interceptors/error_interceptor.dart

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,20 @@ class ErrorInterceptors extends InterceptorsWrapper {
1717
ErrorInterceptors(this._dio);
1818

1919
@override
20-
onRequest(RequestOptions options) async {
20+
onRequest(RequestOptions options, handler) async {
2121
//没有网络
2222
var connectivityResult = await (new Connectivity().checkConnectivity());
2323
if (connectivityResult == ConnectivityResult.none) {
24-
return _dio.resolve(new ResultData(
25-
Code.errorHandleFunction(Code.NETWORK_ERROR, "", false),
26-
false,
27-
Code.NETWORK_ERROR));
24+
return handler.reject(DioError(
25+
requestOptions: options,
26+
type: DioErrorType.other,
27+
response: Response(
28+
requestOptions: options,
29+
data: new ResultData(
30+
Code.errorHandleFunction(Code.NETWORK_ERROR, "", false),
31+
false,
32+
Code.NETWORK_ERROR))));
2833
}
29-
return options;
34+
return super.onRequest(options, handler);
3035
}
3136
}

lib/common/net/interceptors/header_interceptor.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import 'package:dio/dio.dart';
77
*/
88
class HeaderInterceptors extends InterceptorsWrapper {
99
@override
10-
onRequest(RequestOptions options) async {
10+
onRequest(RequestOptions options, handler) async {
1111
///超时
1212
options.connectTimeout = 30000;
1313
options.receiveTimeout = 30000;
1414

15-
return options;
15+
return super.onRequest(options, handler);
1616
}
1717
}

lib/common/net/interceptors/log_interceptor.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class LogsInterceptors extends InterceptorsWrapper {
1818
static List<String?> sHttpErrorUrl = [];
1919

2020
@override
21-
onRequest(RequestOptions options) async {
21+
onRequest(RequestOptions options, handler) async {
2222
if (Config.DEBUG!) {
2323
print("请求url:${options.path} ${options.method}");
2424
options.headers.forEach((k, v) => options.headers[k] = v ?? "");
@@ -45,19 +45,19 @@ class LogsInterceptors extends InterceptorsWrapper {
4545
} catch (e) {
4646
print(e);
4747
}
48-
return options;
48+
return super.onRequest(options, handler);
4949
}
5050

5151
@override
52-
onResponse(Response response) async {
52+
onResponse(Response response, handler) async {
5353
if (Config.DEBUG!) {
54-
print('返回参数: ' + response.toString());
54+
print('返回参数: ' + response.toString());
5555
}
5656
if (response.data is Map || response.data is List) {
5757
try {
5858
var data = Map<String, dynamic>();
5959
data["data"] = response.data;
60-
addLogic(sResponsesHttpUrl, response.request.uri.toString());
60+
addLogic(sResponsesHttpUrl, response.requestOptions.uri.toString());
6161
addLogic(sHttpResponses, data);
6262
} catch (e) {
6363
print(e);
@@ -66,38 +66,38 @@ class LogsInterceptors extends InterceptorsWrapper {
6666
try {
6767
var data = Map<String, dynamic>();
6868
data["data"] = response.data;
69-
addLogic(sResponsesHttpUrl, response.request.uri.toString() );
69+
addLogic(sResponsesHttpUrl, response.requestOptions.uri.toString());
7070
addLogic(sHttpResponses, data);
7171
} catch (e) {
7272
print(e);
7373
}
7474
} else if (response.data != null) {
7575
try {
7676
String data = response.data.toJson();
77-
addLogic(sResponsesHttpUrl, response.request.uri.toString() );
77+
addLogic(sResponsesHttpUrl, response.requestOptions.uri.toString());
7878
addLogic(sHttpResponses, json.decode(data));
7979
} catch (e) {
8080
print(e);
8181
}
8282
}
83-
return response; // continue
83+
return super.onResponse(response, handler);
8484
}
8585

8686
@override
87-
onError(DioError err) async {
87+
onError(DioError err, handler) async {
8888
if (Config.DEBUG!) {
8989
print('请求异常: ' + err.toString());
9090
print('请求异常信息: ' + (err.response?.toString() ?? ""));
9191
}
9292
try {
93-
addLogic(sHttpErrorUrl, err.request!.path);
93+
addLogic(sHttpErrorUrl, err.requestOptions.path);
9494
var errors = Map<String, dynamic>();
9595
errors["error"] = err.message;
9696
addLogic(sHttpError, errors);
9797
} catch (e) {
9898
print(e);
9999
}
100-
return err; // continue;
100+
return super.onError(err, handler);
101101
}
102102

103103
static addLogic(List list, data) {

lib/common/net/interceptors/response_interceptor.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import 'package:gsy_github_app_flutter/common/net/result_data.dart';
99
*/
1010
class ResponseInterceptors extends InterceptorsWrapper {
1111
@override
12-
onResponse(Response response) async {
13-
RequestOptions option = response.request;
12+
onResponse(Response response, handler) async {
13+
RequestOptions option = response.requestOptions;
1414
var value;
1515
try {
1616
var header = response.headers[Headers.contentTypeHeader];
@@ -25,6 +25,7 @@ class ResponseInterceptors extends InterceptorsWrapper {
2525
value = new ResultData(response.data, false, response.statusCode,
2626
headers: response.headers);
2727
}
28-
return value;
28+
response.data = value;
29+
return handler.next(response);
2930
}
3031
}

lib/common/net/interceptors/token_interceptor.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class TokenInterceptors extends InterceptorsWrapper {
1212
String? _token;
1313

1414
@override
15-
onRequest(RequestOptions options) async {
15+
onRequest(RequestOptions options, handler) async {
1616
//授权码
1717
if (_token == null) {
1818
var authorizationCode = await getAuthorization();
@@ -22,11 +22,11 @@ class TokenInterceptors extends InterceptorsWrapper {
2222
}
2323
}
2424
options.headers["Authorization"] = _token;
25-
return options;
25+
return super.onRequest(options, handler);
2626
}
2727

2828
@override
29-
onResponse(Response response) async {
29+
onResponse(Response response, handler) async {
3030
try {
3131
var responseJson = response.data;
3232
if (response.statusCode == 201 && responseJson["token"] != null) {
@@ -36,7 +36,7 @@ class TokenInterceptors extends InterceptorsWrapper {
3636
} catch (e) {
3737
print(e);
3838
}
39-
return response;
39+
return super.onResponse(response, handler);
4040
}
4141

4242
///清除授权

pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ packages:
231231
name: dio
232232
url: "https://pub.flutter-io.cn"
233233
source: hosted
234-
version: "4.0.0-beta6"
234+
version: "4.0.0"
235235
ffi:
236236
dependency: transitive
237237
description:

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ dependencies:
3434
pub_semver: 2.0.0
3535
flutter_svg: 0.21.0-nullsafety.0
3636
flutter_slidable: ^0.6.0-nullsafety.0
37-
dio: 4.0.0-beta6
37+
dio: 4.0.0
3838
path_provider: 2.0.0
3939
flutter_webview_plugin: 0.3.11
4040
webview_flutter: 2.0.0

0 commit comments

Comments
 (0)