Преглед изворни кода

[fix]红框内的点击交互,应跳转为会员中心

zk пре 5 месеци
родитељ
комит
060d7ef979
2 измењених фајлова са 75 додато и 62 уклоњено
  1. 20 11
      lib/module/mine/mine_controller.dart
  2. 55 51
      lib/module/mine/mine_page.dart

+ 20 - 11
lib/module/mine/mine_controller.dart

@@ -61,13 +61,13 @@ class MineController extends BaseController {
     return '${StringName.mineAccountLoggedDesc}$phone';
     return '${StringName.mineAccountLoggedDesc}$phone';
   }
   }
 
 
-  onShareClick() {
+  void onShareClick() {
     WechatShareUtil.shareWebPage().catchError((error) {
     WechatShareUtil.shareWebPage().catchError((error) {
       ToastUtil.show(error);
       ToastUtil.show(error);
     });
     });
   }
   }
 
 
-  onCustomerServiceClick() {
+  void onCustomerServiceClick() {
     String phone = AccountRepository.getInstance().loginPhoneNum.value ?? '';
     String phone = AccountRepository.getInstance().loginPhoneNum.value ?? '';
     String url = "https://qiyu-kefu.atmob.com?"
     String url = "https://qiyu-kefu.atmob.com?"
         "ssid=$phone"
         "ssid=$phone"
@@ -80,19 +80,19 @@ class MineController extends BaseController {
     BrowserPage.start(url);
     BrowserPage.start(url);
   }
   }
 
 
-  onPermissionSettingClick() {
+  void onPermissionSettingClick() {
     PermissionSettingPage.start();
     PermissionSettingPage.start();
   }
   }
 
 
-  onAccountFeedbackClick() {
+  void onAccountFeedbackClick() {
     FeedBackPage.start();
     FeedBackPage.start();
   }
   }
 
 
-  onAboutClick() {
+  void onAboutClick() {
     AboutPage.start();
     AboutPage.start();
   }
   }
 
 
-  onLogoutAccountClick() {
+  void onLogoutAccountClick() {
     logoutAccountDialog(
     logoutAccountDialog(
         logoutCallback: () {
         logoutCallback: () {
           accountRepository.userClear().then((_) {
           accountRepository.userClear().then((_) {
@@ -105,15 +105,25 @@ class MineController extends BaseController {
         cancelCallback: () {});
         cancelCallback: () {});
   }
   }
 
 
-  onFunExitAccountClick() {
+  void onFunExitAccountClick() {
     exitAccountDialog(confirmOnTap: () {
     exitAccountDialog(confirmOnTap: () {
       accountRepository.logout();
       accountRepository.logout();
     });
     });
   }
   }
 
 
-  onLoginClick() {
+  void onEditUserAvatarClick() {
     if (isLogin) {
     if (isLogin) {
       editUserAvatar();
       editUserAvatar();
+    } else {
+      LoginPage.start();
+    }
+  }
+
+  void onMineDescClick() {
+    if (isLogin) {
+      if (accountRepository.memberIsExpired()) {
+        MemberPage.start(enterTyp: MemberPageType.activity);
+      }
       return;
       return;
     }
     }
     LoginPage.start();
     LoginPage.start();
@@ -130,6 +140,7 @@ class MineController extends BaseController {
   Future<void> onMemberTryOutClick() {
   Future<void> onMemberTryOutClick() {
     return memberRepository.memberTrial().then((_) {
     return memberRepository.memberTrial().then((_) {
       ToastUtil.show('已获得会员试用');
       ToastUtil.show('已获得会员试用');
+
       ///刷新会员状态。
       ///刷新会员状态。
       accountRepository.refreshMemberStatus();
       accountRepository.refreshMemberStatus();
     }).catchError((error) {
     }).catchError((error) {
@@ -158,7 +169,5 @@ class MineController extends BaseController {
   }
   }
 
 
   ///会员倒计时到期弹出提示窗
   ///会员倒计时到期弹出提示窗
-  void promptWindowPopsCountdownExpires() {
-
-  }
+  void promptWindowPopsCountdownExpires() {}
 }
 }

+ 55 - 51
lib/module/mine/mine_page.dart

@@ -45,13 +45,12 @@ class MinePage extends BasePage<MineController> {
           child: SingleChildScrollView(
           child: SingleChildScrollView(
             child: Column(children: [
             child: Column(children: [
               SizedBox(height: 70.w),
               SizedBox(height: 70.w),
-              GestureDetector(
-                behavior: HitTestBehavior.opaque,
-                onTap: () => controller.onLoginClick(),
-                child: Row(
-                  children: [
-                    SizedBox(width: 12.w),
-                    Obx(() {
+              Row(
+                children: [
+                  SizedBox(width: 12.w),
+                  GestureDetector(
+                    onTap: () => controller.onEditUserAvatarClick(),
+                    child: Obx(() {
                       return controller.isLogin
                       return controller.isLogin
                           ? (controller.mineInfo.avatar != null
                           ? (controller.mineInfo.avatar != null
                               ? buildAvatarView(controller.mineInfo.avatar!)
                               ? buildAvatarView(controller.mineInfo.avatar!)
@@ -60,18 +59,18 @@ class MinePage extends BasePage<MineController> {
                           : Assets.images.iconMineNoLogin
                           : Assets.images.iconMineNoLogin
                               .image(width: 54.w, height: 54.w);
                               .image(width: 54.w, height: 54.w);
                     }),
                     }),
-                    SizedBox(width: 10.w),
-                    Expanded(child: buildLoginInfo()),
-                    //Spacer(),
-                    Obx(() {
-                      return Visibility(
-                          visible: controller.isOpenFreeMember == true,
-                          child: GestureDetector(
-                              onTap: () => controller.onMemberTryOutClick(),
-                              child: buildMemberTryOutView()));
-                    })
-                  ],
-                ),
+                  ),
+                  SizedBox(width: 10.w),
+                  Expanded(child: buildLoginInfo()),
+                  //Spacer(),
+                  Obx(() {
+                    return Visibility(
+                        visible: controller.isOpenFreeMember == true,
+                        child: GestureDetector(
+                            onTap: () => controller.onMemberTryOutClick(),
+                            child: buildMemberTryOutView()));
+                  })
+                ],
               ),
               ),
               SizedBox(height: 20.w),
               SizedBox(height: 20.w),
               buildExperienceContent(),
               buildExperienceContent(),
@@ -174,38 +173,43 @@ class MinePage extends BasePage<MineController> {
   }
   }
 
 
   Widget buildLoginInfo() {
   Widget buildLoginInfo() {
-    return Column(
-      mainAxisAlignment: MainAxisAlignment.center,
-      crossAxisAlignment: CrossAxisAlignment.start,
-      children: [
-        Row(
-          children: [
-            Obx(() {
-              String desc = "";
-              if (controller.isLogin && controller.phone?.isNotEmpty == true) {
-                desc = controller.getUserName(controller.phone!);
-              } else {
-                desc = StringName.mineAccountGoLogin;
-              }
-              return Text(desc,
-                  style: TextStyle(
-                      fontSize: 16.sp,
-                      color: '#333333'.color,
-                      fontWeight: FontWeight.bold));
-            }),
-            SizedBox(width: 6.w),
-            Obx(() {
-              return Visibility(
-                  visible: controller.isLogin &&
-                      controller.memberStatusInfo != null &&
-                      controller.memberStatusInfo?.expired == false,
-                  child: Assets.images.iconVip.image(width: 28.w));
-            })
-          ],
-        ),
-        SizedBox(height: 6.w),
-        buildLoginDesc(),
-      ],
+    return GestureDetector(
+      behavior: HitTestBehavior.translucent,
+      onTap: controller.onMineDescClick,
+      child: Column(
+        mainAxisAlignment: MainAxisAlignment.center,
+        crossAxisAlignment: CrossAxisAlignment.start,
+        children: [
+          Row(
+            children: [
+              Obx(() {
+                String desc = "";
+                if (controller.isLogin &&
+                    controller.phone?.isNotEmpty == true) {
+                  desc = controller.getUserName(controller.phone!);
+                } else {
+                  desc = StringName.mineAccountGoLogin;
+                }
+                return Text(desc,
+                    style: TextStyle(
+                        fontSize: 16.sp,
+                        color: '#333333'.color,
+                        fontWeight: FontWeight.bold));
+              }),
+              SizedBox(width: 6.w),
+              Obx(() {
+                return Visibility(
+                    visible: controller.isLogin &&
+                        controller.memberStatusInfo != null &&
+                        controller.memberStatusInfo?.expired == false,
+                    child: Assets.images.iconVip.image(width: 28.w));
+              })
+            ],
+          ),
+          SizedBox(height: 6.w),
+          buildLoginDesc(),
+        ],
+      ),
     );
     );
   }
   }