Explorar o código

[new]调整会员页挽留支付弹窗逻辑

zk hai 3 meses
pai
achega
ca2f0c9df0

+ 12 - 8
lib/dialog/member_retain_dialog.dart

@@ -5,13 +5,13 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
 import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
 import 'package:location/resource/assets.gen.dart';
 import 'package:location/resource/string.gen.dart';
-import 'package:location/utils/common_style.dart';
 
 class MemberRetainDialog {
   static final String _tag = 'MemberRetainDialog';
 
-  static void show(
-      {required VoidCallback payClick, required VoidCallback cancelClick}) {
+  static void show({required VoidCallback payClick,
+    required bool isShowRecommendView,
+    required VoidCallback cancelClick}) {
     SmartDialog.show(
         tag: _tag,
         backDismiss: false,
@@ -19,7 +19,9 @@ class MemberRetainDialog {
         clickMaskDismiss: false,
         builder: (_) {
           return _MemberRetainDialogWidget(
-              payClick: payClick, cancelClick: cancelClick);
+              payClick: payClick,
+              isShowRecommendView: isShowRecommendView,
+              cancelClick: cancelClick);
         });
   }
 
@@ -31,9 +33,11 @@ class MemberRetainDialog {
 class _MemberRetainDialogWidget extends Dialog {
   final VoidCallback payClick;
   final VoidCallback cancelClick;
+  final bool isShowRecommendView;
 
-  const _MemberRetainDialogWidget(
-      {required this.payClick, required this.cancelClick});
+  const _MemberRetainDialogWidget({required this.payClick,
+    required this.isShowRecommendView,
+    required this.cancelClick});
 
   @override
   Widget build(BuildContext context) {
@@ -43,7 +47,7 @@ class _MemberRetainDialogWidget extends Dialog {
           Stack(
             children: [
               Visibility(
-                visible: Platform.isAndroid,
+                visible: isShowRecommendView,
                 child: Positioned(
                   top: 0,
                   left: 10.w,
@@ -93,7 +97,7 @@ class _MemberRetainDialogWidget extends Dialog {
                     //getPrimaryBtnDecoration(100.w),
                     child: Center(
                       child: Text(
-                          Platform.isAndroid
+                          isShowRecommendView
                               ? StringName.memberContinuePay
                               : StringName.memberContinuePayIos,
                           style:

+ 9 - 6
lib/module/member/member_controller.dart

@@ -328,12 +328,15 @@ class MemberController extends BaseController implements PaymentStatusCallback {
   ///支付错误的时候调用
   void showRetainDialog({bool isBack = false, int? errno}) {
     _isShowPayFailedDialog = true;
-    MemberRetainDialog.show(payClick: () {
-      onBuyClick();
-    }, cancelClick: () {
-      errorPayToast(errno);
-      if (Platform.isAndroid && isBack) back();
-    });
+    MemberRetainDialog.show(
+        payClick: () {
+          onBuyClick();
+        },
+        cancelClick: () {
+          errorPayToast(errno);
+          if (Platform.isAndroid && isBack) back();
+        },
+        isShowRecommendView: isBack);
   }
 
   void onBuyClick() async {

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

@@ -71,7 +71,7 @@ class MemberPage extends BasePage<MemberController> {
   @override
   Widget buildBody(BuildContext context) {
     return PopScope(
-      canPop: false,
+      canPop: !Platform.isAndroid,
       onPopInvokedWithResult: (bool didPop, dynamic result) async {
         if (didPop) {
           return;