From 36754ba47da7a3277d5be183a523c912a1dc4cef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 31 三月 2022 15:07:08 +0800 Subject: [PATCH] service服务bug修复 --- src/main/resources/code/flutter/lib/api/http.dart | 62 ++++++++++++++++++------------ 1 files changed, 37 insertions(+), 25 deletions(-) diff --git a/src/main/resources/code/flutter/lib/api/http.dart b/src/main/resources/code/flutter/lib/api/http.dart index beb274b..b372acb 100644 --- a/src/main/resources/code/flutter/lib/api/http.dart +++ b/src/main/resources/code/flutter/lib/api/http.dart @@ -14,6 +14,8 @@ import '../ui/widget/dialog.dart'; import '../utils/ui_utils.dart'; import '../model/common/http_model.dart'; +import 'package:dio/dio.dart'; +import 'package:dio/adapter.dart'; typedef OnHttpRequestFinish = void Function(HttpRequestResult result); @@ -100,42 +102,52 @@ // params ??= {}; params = await getBaseParams(params); - var httpClient = HttpClient(); - httpClient.connectionTimeout = const Duration(seconds: 20); - var uri = Uri( - scheme: "http", - host: "api.location.izzql.com", - path: api, - port: 8090, - queryParameters: params); - - // var uri = Uri( - // scheme: "http", - // host: "192.168.3.122", - // path: api, - // port: 8082, - // queryParameters: params); - - print("uri:$uri"); - if (onStart != null) { onStart(); } HttpRequestResult requestResult; try { - HttpClientRequest request = await httpClient.postUrl(uri); - var response = await request.close(); + var dio = Dio() + ..options = BaseOptions( + baseUrl: "http://api.hanju.goxcw.com:8089/BuWan", + connectTimeout: 20000, + receiveTimeout: 1000 * 60, + contentType: "application/x-www-form-urlencoded"); + //璁剧疆浠g悊 + (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = + (HttpClient client) { + client.findProxy = (uri) { + return 'PROXY 192.168.3.122:8888'; + }; + client.badCertificateCallback = + (X509Certificate cert, String host, int port) => true; + }; + + // FormData formData = FormData.fromMap(params); + var response = await dio.post( + api, + data: params, + onSendProgress: (int sent, int total) { + print('$sent $total'); + }, + ); if (response.statusCode == HttpStatus.ok) { - String result = await response.transform(const Utf8Decoder()).join(); + String result = response.data.toString(); + print("缃戠粶璇锋眰缁撴灉:$result"); requestResult = HttpRequestResult(true, jsonDecode(result)); } else { requestResult = HttpRequestResult(false, null, msg: "缃戠粶璇锋眰澶辫触"); } - } on TimeoutException catch (_) { - requestResult = HttpRequestResult(false, null, msg: "缃戠粶璇锋眰瓒呮椂"); - } on SocketException catch (_) { - Fluttertoast.showToast(msg: "缃戠粶璇锋眰鍑洪敊"); + } on DioError catch (_) { + if (_.type == DioErrorType.connectTimeout || + _.type == DioErrorType.receiveTimeout || + _.type == DioErrorType.sendTimeout) { + requestResult = HttpRequestResult(false, null, msg: "缃戠粶璇锋眰瓒呮椂"); + } else { + requestResult = HttpRequestResult(false, null, msg: "缃戠粶璇锋眰鍑洪敊"); + } + } catch (e) { requestResult = HttpRequestResult(false, null, msg: "缃戠粶璇锋眰鍑洪敊"); } if (notifyError && !requestResult.success) { -- Gitblit v1.8.0