|
|
@@ -18,6 +18,7 @@ import 'package:location/dialog/alipay_qr_code_dialog.dart';
|
|
|
import 'package:location/handler/error_handler.dart';
|
|
|
import 'package:location/module/login/login_page.dart';
|
|
|
import 'package:location/resource/assets.gen.dart';
|
|
|
+import 'package:location/sdk/gravity/gravity_helper.dart';
|
|
|
import 'package:location/utils/async_util.dart';
|
|
|
import 'package:location/utils/common_expand.dart';
|
|
|
import 'package:location/utils/toast_util.dart';
|
|
|
@@ -326,16 +327,20 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
return;
|
|
|
}
|
|
|
if (Platform.isAndroid) {
|
|
|
- showRetainDialog(isBack: true);
|
|
|
+ showRetainDialog();
|
|
|
} else {
|
|
|
Future.delayed(Duration(milliseconds: 500), () {
|
|
|
- showRetainDialog(isBack: true);
|
|
|
+ showRetainDialog();
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- ///支付错误的时候调用
|
|
|
- void showRetainDialog({bool isBack = false, int? errno}) {
|
|
|
+ //支付错误的时候调用
|
|
|
+ void showBackPaymentFailureDialog({int? errno}) {
|
|
|
+ if (GravityHelper.getIsFromPromote() != true && Platform.isIOS) {
|
|
|
+ errorPayToast(errno);
|
|
|
+ return;
|
|
|
+ }
|
|
|
_isShowPayFailedDialog = true;
|
|
|
MemberRetainDialog.show(
|
|
|
payClick: () {
|
|
|
@@ -343,9 +348,18 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
},
|
|
|
cancelClick: () {
|
|
|
errorPayToast(errno);
|
|
|
- if (Platform.isAndroid && isBack) back();
|
|
|
},
|
|
|
- isShowRecommendView: isBack);
|
|
|
+ isShowRecommendView: Platform.isAndroid);
|
|
|
+ }
|
|
|
+
|
|
|
+ //退出挽留弹窗
|
|
|
+ void showRetainDialog({int? errno}) {
|
|
|
+ MemberRetainDialog.show(payClick: () {
|
|
|
+ onBuyClick();
|
|
|
+ }, cancelClick: () {
|
|
|
+ errorPayToast(errno);
|
|
|
+ if (Platform.isAndroid) back();
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
void onBuyClick() async {
|
|
|
@@ -405,7 +419,7 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
}).catchError((error) {
|
|
|
LoadingDialog.hide();
|
|
|
//处理购买失败
|
|
|
- showRetainDialog();
|
|
|
+ showBackPaymentFailureDialog();
|
|
|
if (error is ServerErrorException) {
|
|
|
if (error.code == ErrorCode.payOrderError) {
|
|
|
refreshMemberData();
|
|
|
@@ -446,7 +460,7 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
LoadingDialog.hide();
|
|
|
ToastUtil.show("支付失败,请稍后重试");
|
|
|
print('购买失败: ${result['error']}');
|
|
|
- showRetainDialog();
|
|
|
+ showBackPaymentFailureDialog();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -597,12 +611,12 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
LoadingDialog.hide();
|
|
|
debugPrint('zk---payError: $errno, $errorMessage');
|
|
|
errorEventReport(payMethod);
|
|
|
- showRetainDialog(errno: errno);
|
|
|
+ showBackPaymentFailureDialog(errno: errno);
|
|
|
}, error: (int errno, String? error) {
|
|
|
LoadingDialog.hide();
|
|
|
debugPrint('zk---error: $errno, $error');
|
|
|
errorEventReport(payMethod);
|
|
|
- showRetainDialog(errno: errno);
|
|
|
+ showBackPaymentFailureDialog(errno: errno);
|
|
|
});
|
|
|
}
|
|
|
|