Parcourir la source

fix:优化一些细节

zhoukun il y a 6 mois
Parent
commit
03f977330f
2 fichiers modifiés avec 18 ajouts et 4 suppressions
  1. 17 4
      lib/module/member/member_controller.dart
  2. 1 0
      lib/module/member/member_page.dart

+ 17 - 4
lib/module/member/member_controller.dart

@@ -79,6 +79,9 @@ class MemberController extends BaseController implements PaymentStatusCallback {
 
   CancelableFuture? _memberDataFuture;
 
+  ///广告弹窗防抖
+  bool _isPopBackInProgress = false; // 操作进行中标志
+
   ///检查续订的状态
   final Rx<SubscriptionCheckResponse> _checkResponse  = Rx(SubscriptionCheckResponse(outTradeNo: ""));
   SubscriptionCheckResponse? get requestCheckResponse => _checkResponse.value;
@@ -233,18 +236,27 @@ class MemberController extends BaseController implements PaymentStatusCallback {
   }
 
   void onPopBack() {
+    back();
     if (accountRepository.memberIsExpired()) {
       showRetainDialog();
     } else {
-      back();
+      //back();
     }
   }
 
   void showRetainDialog() {
+    print("showRetainDialogsfsdf---");
+    if (_isPopBackInProgress) {
+      // 如果正在处理返回逻辑,直接跳过
+      return;
+    }
+    _isPopBackInProgress = true; // 锁定状态
     MemberRetainDialog.show(payClick: () {
       onBuyClick();
+      _isPopBackInProgress = false;
     }, cancelClick: () {
-      back();
+      _isPopBackInProgress = false;
+      //back();
     });
   }
 
@@ -454,10 +466,11 @@ class MemberController extends BaseController implements PaymentStatusCallback {
     // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
     memberRepository
         .subscriptionResume(3, receiptData)
-        .then((data) {
+        .then((data) async  {
       CustomLoadingDialog.hide();
       ToastUtil.show("恢复成功");
-      accountRepository.refreshMemberStatus();
+      await AccountRepository.getInstance().getMemberStatus();
+      //accountRepository.refreshMemberStatus();
       Get.back();
     })
         .catchError((error) {

+ 1 - 0
lib/module/member/member_page.dart

@@ -52,6 +52,7 @@ class MemberPage extends BasePage<MemberController> {
       child: Stack(
         children: [
           SingleChildScrollView(
+            physics: const ClampingScrollPhysics(),
             controller: controller.scrollController,
             child: Stack(
               children: [