Parcourir la source

fix:优化会员中心支付失败弹框。

“HeShaoZe” il y a 5 mois
Parent
commit
c8d89fdfb7
1 fichiers modifiés avec 8 ajouts et 2 suppressions
  1. 8 2
      lib/module/member/member_controller.dart

+ 8 - 2
lib/module/member/member_controller.dart

@@ -313,13 +313,17 @@ class MemberController extends BaseController implements PaymentStatusCallback {
   }
 
   ///支付错误的时候调用
-  void showRetainDialog({bool isBack = false, int? errno}) {
+  void showRetainDialog({bool isBack = false, int? errno, VoidCallback? onCancelClick, }) {
     _isShowPayFailedDialog = true;
     MemberRetainDialog.show(payClick: () {
       onBuyClick();
     }, cancelClick: () {
       errorPayToast(errno);
       if (Platform.isAndroid && isBack) back();
+      // 新增:如果传入了 onCancelClick,则调用
+      if (onCancelClick != null) {
+        onCancelClick();
+      }
     });
   }
 
@@ -421,7 +425,9 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       LoadingDialog.hide();
       ToastUtil.show("支付失败,请稍后重试");
       print('购买失败: ${result['error']}');
-      showRetainDialog();
+      showRetainDialog(onCancelClick: () {
+        ToastUtil.show("支付失败,请稍后重试");
+      });
     }
   }