From e79d17058a1d212cf2296aebf48f9c71e313b49d Mon Sep 17 00:00:00 2001 From: sexygoat <1538832180@qq.com> Date: Tue, 14 Apr 2026 17:50:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A5=97=E9=A4=90=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/package-order/package-order.vue | 33 +++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/pages/package-order/package-order.vue b/pages/package-order/package-order.vue index 2f25433..1db065d 100644 --- a/pages/package-order/package-order.vue +++ b/pages/package-order/package-order.vue @@ -225,7 +225,36 @@ return; } - // H5 和小程序都使用 uni.requestPayment + // #ifdef H5 + if (typeof WeixinJSBridge === 'undefined') { + uni.showToast({ title: '请在微信中打开', icon: 'none' }); + return; + } + + WeixinJSBridge.invoke('getBrandWCPayRequest', { + appId: payConfig.app_id, + timeStamp: payConfig.timestamp, + nonceStr: payConfig.nonce_str, + package: payConfig.package, + signType: payConfig.sign_type, + paySign: payConfig.pay_sign + }, function(res) { + if (res.err_msg === 'get_brand_wcpay_request:ok') { + console.log('支付成功', res); + uni.showToast({ title: '支付成功', icon: 'success' }); + setTimeout(() => { + loadWalletBalance(); + }, 1500); + } else if (res.err_msg === 'get_brand_wcpay_request:cancel') { + uni.showToast({ title: '已取消支付', icon: 'none' }); + } else { + console.error('支付失败', res); + uni.showToast({ title: '支付失败', icon: 'none' }); + } + }); + // #endif + + // #ifndef H5 uni.requestPayment({ timeStamp: payConfig.timestamp, nonceStr: payConfig.nonce_str, @@ -241,7 +270,6 @@ }, fail: (err) => { console.error('支付失败', err); - // 判断是否用户取消 if (err.errMsg && (err.errMsg.includes('cancel') || err.errMsg.includes('用户取消'))) { uni.showToast({ title: '已取消支付', icon: 'none' }); } else { @@ -249,6 +277,7 @@ } } }); + // #endif }; onMounted(() => {