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