张延森 3 years ago
parent
commit
41e47ead56
4 changed files with 115 additions and 2 deletions
  1. 3
    1
      lib/main.dart
  2. 12
    0
      lib/utils/Request.dart
  3. 99
    1
      pubspec.lock
  4. 1
    0
      pubspec.yaml

+ 3
- 1
lib/main.dart View File

@@ -5,14 +5,16 @@ import 'package:farmer_client/pages/TabBar/index_page.dart';
5 5
 import 'package:farmer_client/pages/login/login.dart';
6 6
 import 'package:flutter/material.dart';
7 7
 import 'package:get/get.dart';
8
+import 'package:get_storage/get_storage.dart';
8 9
 import 'package:flutter_screenutil/flutter_screenutil.dart';
9 10
 import 'components/UI/Banner.dart';
10 11
 import 'components/UI/CarsCard.dart';
11 12
 import 'components/UI/DefaultButton.dart';
12 13
 import 'components/UI/Search.dart';
13 14
 
14
-void main() {
15
+void main() async {
15 16
   Store().init();
17
+  await GetStorage.init();
16 18
   runApp(const MyApp());
17 19
 }
18 20
 

+ 12
- 0
lib/utils/Request.dart View File

@@ -3,6 +3,7 @@ import 'dart:convert';
3 3
 import 'package:dio/dio.dart';
4 4
 import 'package:flutter/foundation.dart';
5 5
 import 'package:get/get.dart';
6
+import 'package:get_storage/get_storage.dart';
6 7
 
7 8
 class Response {
8 9
   late int code;
@@ -37,6 +38,7 @@ Dio createRequest() {
37 38
   var dio = Dio(options);
38 39
   dio.interceptors.add(InterceptorsWrapper(onRequest: (options, handler) {
39 40
     // Do something before request is sent
41
+    options.headers['Authorization'] =  GetStorage().read("token");
40 42
     return handler.next(options); //continue
41 43
     // If you want to resolve the request with some custom data,
42 44
     // you can resolve a `Response` object eg: `handler.resolve(response)`.
@@ -46,6 +48,16 @@ Dio createRequest() {
46 48
     var resp = response.data as Map<String, dynamic>;
47 49
     if (resp['code'] == 1000) {
48 50
       response.data = resp['data'];
51
+
52
+      try {
53
+        var data = response.data as Map<String, dynamic>;
54
+        if (null != data['token']) {
55
+          GetStorage().write('token', data['token']);
56
+        }
57
+      } catch (e) {
58
+        //
59
+      }
60
+
49 61
       return handler.next(response);
50 62
     } else {
51 63
       DioError error = DioError(requestOptions: response.requestOptions, error: response.data, response: response);

+ 99
- 1
pubspec.lock View File

@@ -127,6 +127,13 @@ packages:
127 127
       url: "https://pub.flutter-io.cn"
128 128
     source: hosted
129 129
     version: "1.2.0"
130
+  ffi:
131
+    dependency: transitive
132
+    description:
133
+      name: ffi
134
+      url: "https://pub.flutter-io.cn"
135
+    source: hosted
136
+    version: "1.1.2"
130 137
   file:
131 138
     dependency: transitive
132 139
     description:
@@ -177,6 +184,13 @@ packages:
177 184
       url: "https://pub.flutter-io.cn"
178 185
     source: hosted
179 186
     version: "4.6.1"
187
+  get_storage:
188
+    dependency: "direct main"
189
+    description:
190
+      name: get_storage
191
+      url: "https://pub.flutter-io.cn"
192
+    source: hosted
193
+    version: "2.0.3"
180 194
   glob:
181 195
     dependency: transitive
182 196
     description:
@@ -261,6 +275,76 @@ packages:
261 275
       url: "https://pub.flutter-io.cn"
262 276
     source: hosted
263 277
     version: "1.8.0"
278
+  path_provider:
279
+    dependency: transitive
280
+    description:
281
+      name: path_provider
282
+      url: "https://pub.flutter-io.cn"
283
+    source: hosted
284
+    version: "2.0.9"
285
+  path_provider_android:
286
+    dependency: transitive
287
+    description:
288
+      name: path_provider_android
289
+      url: "https://pub.flutter-io.cn"
290
+    source: hosted
291
+    version: "2.0.12"
292
+  path_provider_ios:
293
+    dependency: transitive
294
+    description:
295
+      name: path_provider_ios
296
+      url: "https://pub.flutter-io.cn"
297
+    source: hosted
298
+    version: "2.0.8"
299
+  path_provider_linux:
300
+    dependency: transitive
301
+    description:
302
+      name: path_provider_linux
303
+      url: "https://pub.flutter-io.cn"
304
+    source: hosted
305
+    version: "2.1.5"
306
+  path_provider_macos:
307
+    dependency: transitive
308
+    description:
309
+      name: path_provider_macos
310
+      url: "https://pub.flutter-io.cn"
311
+    source: hosted
312
+    version: "2.0.5"
313
+  path_provider_platform_interface:
314
+    dependency: transitive
315
+    description:
316
+      name: path_provider_platform_interface
317
+      url: "https://pub.flutter-io.cn"
318
+    source: hosted
319
+    version: "2.0.3"
320
+  path_provider_windows:
321
+    dependency: transitive
322
+    description:
323
+      name: path_provider_windows
324
+      url: "https://pub.flutter-io.cn"
325
+    source: hosted
326
+    version: "2.0.5"
327
+  platform:
328
+    dependency: transitive
329
+    description:
330
+      name: platform
331
+      url: "https://pub.flutter-io.cn"
332
+    source: hosted
333
+    version: "3.1.0"
334
+  plugin_platform_interface:
335
+    dependency: transitive
336
+    description:
337
+      name: plugin_platform_interface
338
+      url: "https://pub.flutter-io.cn"
339
+    source: hosted
340
+    version: "2.1.2"
341
+  process:
342
+    dependency: transitive
343
+    description:
344
+      name: process
345
+      url: "https://pub.flutter-io.cn"
346
+    source: hosted
347
+    version: "4.2.4"
264 348
   pub_semver:
265 349
     dependency: transitive
266 350
     description:
@@ -357,6 +441,20 @@ packages:
357 441
       url: "https://pub.flutter-io.cn"
358 442
     source: hosted
359 443
     version: "1.0.1"
444
+  win32:
445
+    dependency: transitive
446
+    description:
447
+      name: win32
448
+      url: "https://pub.flutter-io.cn"
449
+    source: hosted
450
+    version: "2.5.1"
451
+  xdg_directories:
452
+    dependency: transitive
453
+    description:
454
+      name: xdg_directories
455
+      url: "https://pub.flutter-io.cn"
456
+    source: hosted
457
+    version: "0.2.0+1"
360 458
   yaml:
361 459
     dependency: transitive
362 460
     description:
@@ -366,4 +464,4 @@ packages:
366 464
     version: "3.1.0"
367 465
 sdks:
368 466
   dart: ">=2.16.1 <3.0.0"
369
-  flutter: ">=1.10.0"
467
+  flutter: ">=2.8.0"

+ 1
- 0
pubspec.yaml View File

@@ -38,6 +38,7 @@ dependencies:
38 38
   get: ^4.6.1
39 39
   dio: ^4.0.6
40 40
   flutter_screenutil: ^5.3.1
41
+  get_storage: ^2.0.3
41 42
 
42 43
 dev_dependencies:
43 44
   flutter_test: