Ver código fonte

fix:紧急求助页-(非会员)未登录点击紧急求助,完成登录后未弹出紧急求助弹窗

“HeShaoZe” 4 meses atrás
pai
commit
5751a9f229

+ 2 - 22
lib/module/main/main_controller.dart

@@ -21,7 +21,6 @@ import 'package:location/module/news/news_page.dart';
 import 'package:location/module/urgent_contact/urgent_contact_page.dart';
 import 'package:location/resource/string.gen.dart';
 import 'package:location/sdk/map/map_helper.dart';
-import 'package:location/utils/atmob_log.dart';
 import 'package:location/utils/mmkv_util.dart';
 import 'package:location/utils/toast_util.dart';
 import 'package:permission_handler/permission_handler.dart';
@@ -45,10 +44,6 @@ import '../mine/mine_page.dart';
 import '../track/track_dialog/track_choose_friend_dialog.dart';
 import '../track/track_dialog/track_daily_report_dialog.dart';
 import '../track/track_page.dart';
-import '../urgent_contact/urgent_contact_click_help_dialog.dart';
-
-///求助提示框记录
-const String _kChickHelpAlertKey = "urgent_chick_help_alder_key";
 
 @injectable
 class MainController extends BaseController {
@@ -446,8 +441,7 @@ class MainController extends BaseController {
     }
     //如果没有紧急联系人,则先进入页面
     if (urgentContactRepository.contactList.isEmpty) {
-      UrgentContactPage.start();
-      onShowRequestHelpTip();
+      UrgentContactPage.start(isShowRequest: "1");
       return;
     }
     if (accountRepository.memberIsExpired()) {
@@ -472,21 +466,7 @@ class MainController extends BaseController {
       return;
     } else {
       ToastUtil.show(StringName.contactNoDefault);
-      UrgentContactPage.start();
-      onShowRequestHelpTip();
-    }
-  }
-
-  //弹出求助提示
-  void onShowRequestHelpTip() {
-    String? memberPageKeyStr = KVUtil.getString(_kChickHelpAlertKey, '');
-    if (memberStatusInfo.value?.expired == true &&
-        (memberPageKeyStr ?? '').length == 0) {
-      ///永久化存储
-      KVUtil.putString(_kChickHelpAlertKey, _kChickHelpAlertKey);
-      UrgentContactClickHelpDialog.show(confirmOnTap: () {
-        MemberPage.start();
-      });
+      UrgentContactPage.start(isShowRequest: "1");
     }
   }
 

+ 28 - 0
lib/module/urgent_contact/urgent_contact_controller.dart

@@ -6,19 +6,28 @@ import 'package:location/data/repositories/account_repository.dart';
 import 'package:location/data/repositories/urgent_contact_repository.dart';
 import 'package:location/handler/error_handler.dart';
 import 'package:location/module/member/member_page.dart';
+import 'package:location/module/urgent_contact/urgent_contact_click_help_dialog.dart';
 import 'package:location/popup/urgent_contact_more_action_popup.dart';
 import 'package:location/resource/string.gen.dart';
 import 'package:location/utils/toast_util.dart';
 
 import '../../data/bean/contact_info.dart';
+import '../../data/bean/member_status_info.dart';
 import '../../dialog/common_alert_dialog_impl.dart';
+import '../../utils/mmkv_util.dart';
 import 'add_contact/add_urgent_contact_view.dart';
 
+///求助提示框记录
+const String _kChickHelpAlertKey = "urgent_chick_help_alder_key";
+
 @injectable
 class UrgentContactController extends BaseController {
   final UrgentContactRepository _urgentContactRepository;
   final AccountRepository accountRepository;
 
+  Rxn<MemberStatusInfo> get memberStatusInfo =>
+      accountRepository.memberStatusInfo;
+
   RxList<ContactInfo> get contactList => _urgentContactRepository.contactList;
 
   UrgentContactController(
@@ -27,6 +36,7 @@ class UrgentContactController extends BaseController {
   @override
   void onReady() {
     super.onReady();
+    _onShowRequestHelpTip();
   }
 
   void back() {
@@ -47,6 +57,24 @@ class UrgentContactController extends BaseController {
     });
   }
 
+  //弹出求助提示
+  void _onShowRequestHelpTip() {
+    if (Get.parameters != null) {
+      String isShowRequestTip = Get.parameters["isShowRequest"] ?? "0";
+      if (isShowRequestTip == "1") {
+        String? memberPageKeyStr = KVUtil.getString(_kChickHelpAlertKey, '');
+        if ((memberStatusInfo.value?.expired == true || memberStatusInfo.value?.expired == null) &&
+            (memberPageKeyStr ?? '').length == 0) {
+          ///永久化存储
+          KVUtil.putString(_kChickHelpAlertKey, _kChickHelpAlertKey);
+          UrgentContactClickHelpDialog.show(confirmOnTap: () {
+            MemberPage.start();
+          });
+        }
+      }
+    }
+  }
+
   void _setDefaultContact(ContactInfo contactInfo) {
     _urgentContactRepository
         .contactFavor(

+ 2 - 2
lib/module/urgent_contact/urgent_contact_page.dart

@@ -16,8 +16,8 @@ import '../../router/app_pages.dart';
 class UrgentContactPage extends BasePage<UrgentContactController> {
   const UrgentContactPage({super.key});
 
-  static void start() {
-    Get.toNamed(RoutePath.urgentContact);
+  static void start({String isShowRequest = "0"}) {
+    Get.toNamed(RoutePath.urgentContact,parameters: {"isShowRequest" : isShowRequest});
   }
 
   @override