瀏覽代碼

'管理员字段放到缓存里'

李志伟 2 年之前
父節點
當前提交
7dcc98c55f
共有 4 個文件被更改,包括 20 次插入7 次删除
  1. 1
    0
      lib/models/app.dart
  2. 2
    0
      lib/pages/Login/index.dart
  3. 16
    6
      lib/pages/main/index.dart
  4. 1
    1
      lib/routes/pages.dart

+ 1
- 0
lib/models/app.dart 查看文件

@@ -71,6 +71,7 @@ class AppController extends GetxController {
71 71
       // 尝试获取一次人员信息
72 72
       getCurrent().then((person) {
73 73
         user(Person.fromJson(person));
74
+        GetStorage().write('isOrgManager', Person.fromJson(person).isOrgManager);
74 75
       });
75 76
     }
76 77
   }

+ 2
- 0
lib/pages/Login/index.dart 查看文件

@@ -1,6 +1,7 @@
1 1
 import 'dart:async';
2 2
 import 'package:flutter/gestures.dart';
3 3
 import 'package:flutter_easyloading/flutter_easyloading.dart';
4
+import 'package:get_storage/get_storage.dart';
4 5
 import 'package:worker_client/models/app.dart';
5 6
 import 'package:fluttertoast/fluttertoast.dart';
6 7
 import 'package:flutter/material.dart';
@@ -74,6 +75,7 @@ class _Login extends State<Login> {
74 75
           userLogin(loginData.value['phone'], loginData.value['qCode'])
75 76
               .then((res) {
76 77
             userInfo(Person.fromJson(res['person']));
78
+            GetStorage().write('isOrgManager', Person.fromJson(res['person']).isOrgManager);
77 79
             EasyLoading.dismiss();
78 80
             Fluttertoast.showToast(msg: '登录成功!');
79 81
             Get.offNamed('/home');

+ 16
- 6
lib/pages/main/index.dart 查看文件

@@ -1,5 +1,6 @@
1 1
 import 'package:flutter/material.dart';
2 2
 import 'package:flutter_screenutil/flutter_screenutil.dart';
3
+import 'package:fluttertoast/fluttertoast.dart';
3 4
 import 'package:get/get.dart';
4 5
 import 'package:get_storage/get_storage.dart';
5 6
 import 'package:worker_client/models/app.dart';
@@ -22,7 +23,8 @@ class Main extends BasicPage {
22 23
         title: '提示',
23 24
         message: '确定要退出登录吗?',
24 25
         onConfirm: () {
25
-          box.remove('token');
26
+          //清除所有缓存 token和isOrgManage
27
+          box.erase();
26 28
           Get.offAllNamed('/login');
27 29
           return true;
28 30
         },
@@ -34,14 +36,20 @@ class Main extends BasicPage {
34 36
   }
35 37
 
36 38
   void goWallet() {
37
-    //钱包页面
38
-    Get.toNamed('/wallet');
39
+    if (box.read('isOrgManager') == true) {
40
+      //钱包页面
41
+      Get.toNamed('/wallet');
42
+    } else {
43
+      Fluttertoast.showToast(msg: '请联系平台把当前用户置为合作社管理员然后点击下方退出登录再次登录!');
44
+    }
39 45
   }
40 46
 
41 47
   void goBankPage() {
42
-    // if (store.user().isOrgManager==true) {
43
-    Get.toNamed('/bankList');
44
-    // }
48
+    if (box.read('isOrgManager') == true) {
49
+      Get.toNamed('/bankList');
50
+    } else {
51
+      Fluttertoast.showToast(msg: '请联系平台把当前用户置为合作社管理员然后点击下方退出登录再次登录!');
52
+    }
45 53
   }
46 54
 
47 55
   void goUserInfo() {
@@ -209,6 +217,7 @@ class Main extends BasicPage {
209 217
                               Image.asset(
210 218
                                 'images/main/wallet.png',
211 219
                                 width: 30.w,
220
+                                color: box.read('isOrgManager')==true?null:Colors.grey,
212 221
                               ),
213 222
                               Text(
214 223
                                 '我的钱包',
@@ -230,6 +239,7 @@ class Main extends BasicPage {
230 239
                               Image.asset(
231 240
                                 'images/main/bankCard.png',
232 241
                                 width: 30.w,
242
+                                color: box.read('isOrgManager')==true?null:Colors.grey,
233 243
                               ),
234 244
                               Text(
235 245
                                 '我的银行卡',

+ 1
- 1
lib/routes/pages.dart 查看文件

@@ -7,7 +7,7 @@ List<GetPage> pages = [
7 7
       name: '/',
8 8
       page: () {
9 9
         GetStorage box = GetStorage();
10
-        return box.hasData('token') ? Home() : Login();
10
+        return box.hasData('token') ? Home() : const Login();
11 11
       }),
12 12
   GetPage(name: '/order', page: () => Order()),
13 13
   GetPage(name: '/login', page: () => const Login()),