|
|
@@ -28,6 +28,7 @@ import '../../data/consts/web_url.dart';
|
|
|
import '../../dialog/common_confirm_dialog_impl.dart';
|
|
|
import '../../dialog/loading_dialog.dart';
|
|
|
import '../../dialog/member_retain_dialog.dart';
|
|
|
+import '../../dialog/wechat_qr_code_dialog.dart';
|
|
|
import '../../handler/event_handler.dart';
|
|
|
import '../../resource/string.gen.dart';
|
|
|
import '../../utils/http_handler.dart';
|
|
|
@@ -267,7 +268,8 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
_onWeChatPay(response.outTradeNo, response.wechatPayPrepayJson!,
|
|
|
payMethod, buyGoods, buyPayWay);
|
|
|
} else if (payWayType == PayWayType.paymentWayWechatScan) {
|
|
|
- _onWechatScanPay();
|
|
|
+ _onWechatScanPay(response.outTradeNo, response.wechatPayQrcodeUrl!,
|
|
|
+ buyPayWay, buyGoods);
|
|
|
} else if (payWayType == PayWayType.paymentWayAlipay) {
|
|
|
_onAliPay(response.outTradeNo, response.alipayOrderString!, payMethod,
|
|
|
buyGoods, buyPayWay);
|
|
|
@@ -300,7 +302,6 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
GoodsBean goodsBean) {
|
|
|
AlipayQrCodeDialog.show(
|
|
|
qrCodeHtml: qrHtml,
|
|
|
- orderId: outTradeNo,
|
|
|
loadSuccessCallback: () {
|
|
|
checkPaymentStatus(outTradeNo, paymentWay, goodsBean);
|
|
|
},
|
|
|
@@ -341,7 +342,21 @@ class MemberController extends BaseController implements PaymentStatusCallback {
|
|
|
requestSdkPay(payInfo, outTradeNo, payMethod, buyGoods, buyPayWay);
|
|
|
}
|
|
|
|
|
|
- void _onWechatScanPay() {}
|
|
|
+ void _onWechatScanPay(String outTradeNo, String qrCodeUrl,
|
|
|
+ PayItemBean paymentWay, GoodsBean goodsBean) {
|
|
|
+ WechatQrCodeDialog.show(
|
|
|
+ qrCodeUrl: qrCodeUrl,
|
|
|
+ loadSuccessCallback: () {
|
|
|
+ checkPaymentStatus(outTradeNo, paymentWay, goodsBean);
|
|
|
+ },
|
|
|
+ onCloseCallback: () async {
|
|
|
+ //关闭后再持续查询几秒
|
|
|
+ CustomLoadingDialog.show();
|
|
|
+ await Future.delayed(Duration(seconds: 4));
|
|
|
+ paymentStatusManager.removePollingSubscription(outTradeNo);
|
|
|
+ CustomLoadingDialog.hide();
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
void requestSdkPay(dynamic payInfo, String outTradeNo, int payMethod,
|
|
|
GoodsBean buyGoods, PayItemBean buyPayWay) {
|