Forráskód Böngészése

Merge branch 'master_demo'

liukai 1 éve
szülő
commit
cca943846c

+ 16 - 2
lib/api/api_provider.dart

@@ -8,7 +8,7 @@ import 'package:ftrecruiter/api/interceptors/log_res_interceptor.dart';
 import 'package:ftrecruiter/api/interceptors/log_req_interceptor.dart';
 import 'package:ftrecruiter/comm/constants/api_constants.dart';
 import 'package:ftrecruiter/comm/constants/app_constant.dart';
-
+import 'package:http/http.dart' as http;
 import '../comm/utils/log_utils.dart';
 
 typedef NetSuccessCallback<T> = Function(T data);
@@ -19,6 +19,9 @@ enum HttpMethod { GET, POST }
 
 /// 网络请求相关封装
 class ApiProvider extends GetConnect {
+  // http.Request? _currentRequest;
+  // http.StreamedResponse? _currentResponse;
+
   /// 默认简单的请求封装,回调的方式
   Future<void> requestNetEasy(
     String url, {
@@ -109,7 +112,10 @@ class ApiProvider extends GetConnect {
       if (code == 200) {
         if (jsonMap['data'] is List<dynamic>) {
           //成功->返回数组
-          return HttpResult(isSuccess: true, listJson: jsonMap['data'],);
+          return HttpResult(
+            isSuccess: true,
+            listJson: jsonMap['data'],
+          );
         } else {
           //成功->返回对象
           return HttpResult(isSuccess: true, dataJson: jsonMap['data']);
@@ -164,6 +170,7 @@ class ApiProvider extends GetConnect {
   @override
   void onInit() {
     httpClient.baseUrl = ApiConstants.baseUrl;
+    httpClient.timeout = const Duration(seconds: 30);
 
     // httpClient.addResponseModifier(responseInterceptor);
 
@@ -180,4 +187,11 @@ class ApiProvider extends GetConnect {
     //   httpClient.addResponseModifier(logResInterceptor);
     // }
   }
+
+  /// 取消网络请求并重新设置GetConnect
+  ApiProvider cancelAndResetHttpClient() {
+    httpClient.close();
+    Get.replace(ApiProvider());
+    return Get.find();
+  }
 }

+ 4 - 1
lib/api/api_repository.dart

@@ -7,9 +7,10 @@ import 'package:ftrecruiter/entity/response/industry_data.dart';
 import 'package:ftrecruiter/entity/response/server_time.dart';
 import 'package:ftrecruiter/entity/response/user_login.dart';
 import 'package:ftrecruiter/entity/response/user_profile.dart';
+import 'package:get/get.dart';
 
 class ApiRepository {
-  final ApiProvider apiProvider;
+  ApiProvider apiProvider;
 
   ApiRepository({required this.apiProvider});
 
@@ -98,6 +99,8 @@ class ApiRepository {
     params["password"] = "12345678";
     params["registration_id"] = "1234";
 
+    apiProvider = apiProvider.cancelAndResetHttpClient();
+
     var result = await apiProvider.requestNetResult(ApiConstants.apiUserLogin,
         method: HttpMethod.POST, headers: headers, query: params);
 

+ 1 - 1
lib/api/interceptors/auth_interceptor.dart

@@ -7,7 +7,7 @@ import 'package:ftrecruiter/comm/utils/device_utils.dart';
 
 
 //自动添加Token,自动刷新Token
-FutureOr<Request> authInterceptor(request) async {
+FutureOr<Request> authInterceptor(Request request) async {
   final token = SpUtil.getString(SPConstant.SP_KEY_TOKEN);
 
   if (!TextUtil.isEmpty(token)) {

+ 1 - 0
lib/modules/zdemo/demo_controller.dart

@@ -109,5 +109,6 @@ class DemoController extends GetxController with StateMixin<dynamic> {
     }
 
     SmartDialog.compatible.showToast("并发完成的数据 行业数量:${industries?.length} 当前时间:$timestamps");
+
   }
 }