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