From fa705507ba574c857b1667553737d23b1b7ff495 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 12 五月 2022 12:06:31 +0800
Subject: [PATCH] 后端模板代码优化

---
 src/main/resources/code/flutter_module/lib/api/http.dart |  109 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 60 insertions(+), 49 deletions(-)

diff --git a/src/main/resources/code/flutter_module/lib/api/http.dart b/src/main/resources/code/flutter_module/lib/api/http.dart
index 9c48d14..b162b3e 100644
--- a/src/main/resources/code/flutter_module/lib/api/http.dart
+++ b/src/main/resources/code/flutter_module/lib/api/http.dart
@@ -2,14 +2,14 @@
 import 'dart:convert';
 import 'dart:io';
 
+import 'package:cookie_jar/cookie_jar.dart';
 import 'package:device_info/device_info.dart';
-import 'package:dio/adapter.dart';
 import 'package:dio/dio.dart';
+import 'package:dio_cookie_manager/dio_cookie_manager.dart';
 import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
-import '../../utils/des/des.dart';
-import '../../utils/share_preference.dart';
 
+import '../../utils/share_preference.dart';
 import '../model/common/http_model.dart';
 import '../ui/widget/dialog.dart';
 import '../utils/app_util.dart';
@@ -40,7 +40,11 @@
     List list = [];
     //绛惧悕
     params.forEach((key, value) {
-      list.add("$key=$value");
+      print(value.runtimeType);
+      //鏂囦欢涓嶅弬涓庣鍚�
+      if(value.runtimeType.toString() != "_File"&&value.runtimeType.toString() != "MultipartFile") {
+        list.add("$key=$value");
+      }
     });
     //鎺掑簭
     list.sort();
@@ -48,33 +52,43 @@
     list.forEach((element) {
       signStr += element + "&";
     });
+    print("绛惧悕瀛楃涓诧細$signStr");
 
-    if (signStr.endsWith("&")) {
-      signStr = signStr.substring(0, signStr.length - 1);
-    }
-
-    signStr += "8888B&*@-uWan88/',@@^";
+    signStr += "BuWan*@_%MakeMoney!!";
 
     return EncryptUtil.MD5(signStr);
   }
 
-  static String _decode(String content) {
-    String key = utf8.decode(base64Decode("VW1nT3R2WVk="));
-    String iv = utf8.decode(base64Decode("WXlIeEhsY0o="));
+  // static String _decode(String content) {
+  //   String key = utf8.decode(base64Decode("VW1nT3R2WVk="));
+  //   String iv = utf8.decode(base64Decode("WXlIeEhsY0o="));
+  //
+  //   List<int> result =
+  //       DES().decryptWithCBC(base64Decode(content), key.codeUnits, iv: iv);
+  //
+  //   return utf8.decode(result);
+  // }
 
-    List<int> result =
-        DES().decryptWithCBC(base64Decode(content), key.codeUnits, iv: iv);
-
-    return utf8.decode(result);
-  }
-
-  static Future<Map<String, dynamic>> getBaseParams(
-      Map<String, dynamic>? params) async {
+  static Future<dynamic> getBaseParams(Map<String, dynamic>? params) async {
     params ??= {};
+
+    //鍒ゆ柇params涓槸鍚︽湁鏂囦欢绫诲瀷
+    List<String> fileKeys = [];
+    params.forEach((key, value) async {
+      print("$key: ${value.runtimeType}");
+      if (value.runtimeType.toString() == "_File") {
+        fileKeys.add(key);
+      }
+    });
+
+    for (int i = 0; i < fileKeys.length; i++) {
+      params[fileKeys[i]] =
+      await MultipartFile.fromFile((params[fileKeys[i]] as File).path);
+    }
 
     if (Platform.isIOS) {
       String finalParams =
-          await dataMethodChannel.invokeMethod("getBaseRequestParams", params);
+      await dataMethodChannel.invokeMethod("getBaseRequestParams", params);
       return jsonDecode(finalParams);
     }
     if (Platform.isAndroid) {
@@ -83,49 +97,46 @@
         _androidInfo = await deviceInfo.androidInfo;
       }
       print("androidInfo锛�${_androidInfo!.version}");
-      params["Version"] = (await AppUtil.getVersionCode()).toString();
+      params["version"] = (await AppUtil.getVersionCode()).toString();
     } else if (Platform.isIOS) {
       if (_iosInfo == null) {
         DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
         _iosInfo = await deviceInfo.iosInfo;
       }
-      params["Version"] = "105";
+      params["version"] = "105";
     }
 
     //娣诲姞闄勫姞鍙傛暟
-    params["Timestamp"] = DateTime.now().millisecondsSinceEpoch.toString();
-    params["Platform"] = "Android"; // Platform.isAndroid ? "Android" : "IOS";
-    params["Package"] = "com.hanju.video";
-    params["System"] = "1";
+    params["timestamp"] = DateTime.now().millisecondsSinceEpoch.toString();
+    params["platform"] = "android"; // Platform.isAndroid ? "Android" : "IOS";
+    params["packages"] = "com.yeshi.makemoney.video";
     Global.utdId = "testtest";
     Global.channel = "QQ";
     if (Platform.isAndroid) {
       if (Global.utdId != null) {
-        params["UtdId"] = Global.utdId;
-        params["Device"] = Global.utdId;
+        params["utdId"] = Global.utdId;
       }
       params["osVersion"] = _androidInfo!.version.release;
     } else if (Platform.isIOS) {
-      params["Device"] = "test123123"; //_iosInfo!.identifierForVendor;
+      params["device"] = "test123123"; //_iosInfo!.identifierForVendor;
     }
 
     if (Global.channel != null) {
-      params["Channel"] = Global.channel;
+      params["channel"] = Global.channel;
     }
 
-    //闈掑皯骞存ā寮�
-    params["YouthMode"] = false;
+    params["sign"] = _getSign(params);
 
-    params["Sign"] = _getSign(params);
-
-    return params;
+    return fileKeys.isNotEmpty ? FormData.fromMap(params) : params;
   }
+
+  static var cookieJar = CookieJar();
 
   static Future<HttpRequestResult> baseRequest(BuildContext context, String api,
       Map<String, dynamic> params, OnHttpRequestStart? onStart,
       {bool notifyError = false}) async {
     // params ??= {};
-    params = await getBaseParams(params);
+    dynamic paramsNew = await getBaseParams(params);
 
     if (onStart != null) {
       onStart();
@@ -135,31 +146,31 @@
     try {
       var dio = Dio()
         ..options = BaseOptions(
-            baseUrl: "http://api.hanju.goxcw.com:8089/BuWan",
+            baseUrl: "http://api.dsp.yeshitv.com",
             connectTimeout: 20000,
             receiveTimeout: 1000 * 60,
             contentType: "application/x-www-form-urlencoded");
+      dio.interceptors.add(CookieManager(cookieJar));
       //璁剧疆浠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;
-      };
+      // (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,
+        data: paramsNew,
         onSendProgress: (int sent, int total) {
-          print('$sent $total');
         },
       );
       if (response.statusCode == HttpStatus.ok) {
         String result = response.data.toString();
-        result = _decode(result);
+        // result = _decode(result);
         print("缃戠粶璇锋眰缁撴灉:$result");
         requestResult = HttpRequestResult(true, jsonDecode(result));
       } else {

--
Gitblit v1.8.0