Browse Source

fix:修复支付失败后展示缺少支付失败引导弹窗。

“HeShaoZe” 4 months ago
parent
commit
813a5b1fe8
1 changed files with 3 additions and 7 deletions
  1. 3 7
      lib/module/member/member_controller.dart

+ 3 - 7
lib/module/member/member_controller.dart

@@ -324,16 +324,9 @@ class MemberController extends BaseController implements PaymentStatusCallback {
 
   ///支付错误的时候调用
   void showRetainDialog() {
-    if (_isPopBackInProgress) {
-      // 如果正在处理返回逻辑,直接跳过
-      return;
-    }
-    _isPopBackInProgress = true; // 锁定状态
     MemberRetainDialog.show(payClick: () {
       onBuyClick();
-      _isPopBackInProgress = false;
     }, cancelClick: () {
-      _isPopBackInProgress = false;
       if (!Platform.isIOS) {
         back();
       }
@@ -424,6 +417,7 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       LoadingDialog.hide();
       ToastUtil.show("支付失败,请稍后重试");
       print('购买失败: ${result['error']}');
+      showRetainDialog();
     }
   }
 
@@ -572,10 +566,12 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       debugPrint('zk---payError: $error, $errorMessage');
       errorPayToast(error);
       errorEventReport(payMethod);
+      showRetainDialog();
     }, error: (int errno, String? error) {
       debugPrint('zk---error: $errno, $error');
       errorPayToast(errno);
       errorEventReport(payMethod);
+      showRetainDialog();
     });
   }