Преглед изворни кода

feat(payment): 添加H5平台微信支付支持

- 在多个订单和充值模块中分别新增H5端调用handleCommonWechatPay的支付逻辑
- 保持原有小程序微信支付逻辑,新增条件编译指令区分不同平台
- 在支付失败或完成后正确处理页面跳转和状态更新
- 统一多模块支付流程的跨平台兼容性处理,提高代码复用性和维护性
zhangtao пре 1 недеља
родитељ
комит
ee021e21d1

+ 5 - 0
src/subPack-attractions/attractionsOrderPay/attractionsOrderPay.vue

@@ -29,6 +29,7 @@ async function getPayPreview() {
 }
 
 async function submitPay() {
+  // #ifdef MP-WEIXIN
   const res = await useUserStore().handleCommonPayMent(orderNo.value)
   if (res.payType !== 1) {
     try {
@@ -42,6 +43,10 @@ async function submitPay() {
   else {
     router.replace({ name: 'attractions-order-detail', params: { orderNo: String(payPreviewInfo.value?.orderNumber), ispay: 'true' } })
   }
+  // #endif
+  // #ifdef H5
+  useUserStore().handleCommonWechatPay(orderNo.value)
+  // #endif
 }
 </script>
 

+ 6 - 0
src/subPack-charge/chargeVoucher/chargeVoucher.vue

@@ -74,6 +74,7 @@ async function submitPay() {
       await uni.showToast({ title: '下单失败', icon: 'none' })
       return
     }
+    // #ifdef MP-WEIXIN
     const payRes = await Apis.charge.wxJsApiPay({
       data: {
         orderNumber,
@@ -82,6 +83,11 @@ async function submitPay() {
     uni.hideLoading()
     await useUserStore().getWxCommonPayment(payRes.data)
     await useUserStore().paySuccess('charge-buy-a-ticket-list', 'subPack-charge/chargeBuyaTicketList/chargeBuyaTicketList')
+    // #endif
+    // #ifdef H5
+    uni.hideLoading()
+    useUserStore().handleCommonWechatPay(orderNumber)
+    // #endif
   }
   catch (error) {
     uni.hideLoading()

+ 6 - 0
src/subPack-djk/confirmOrder/index.vue

@@ -36,6 +36,7 @@ async function handlePay() {
   isPay.value = true
   try {
     const data = await Apis.djk.addDJKOrder({ data: { shopId: orderInfo.value.shopId, channelId: useUserStore().userInfo.channelId, phone: phone.value, goodsId: orderInfo.value.id, goodsNum: 1, customerAuthorization: boolToNumber(isAllow.value) } })
+    // #ifdef MP-WEIXIN
     const res = await useUserStore().handleCommonPayMent(data.data)
     if (res.payType !== 1) {
       try {
@@ -49,6 +50,11 @@ async function handlePay() {
     else {
       await useUserStore().paySuccess('djk-homeTabbar', 'subPack-djk/commonTab/index')
     }
+    // #endif
+    // #ifdef H5
+    useUserStore().handleCommonWechatPay(data.data)
+    isPay.value = false
+    // #endif
   }
   catch (error) {
     console.log('error', error)

+ 5 - 0
src/subPack-djk/orderDetaile/index.vue

@@ -34,8 +34,13 @@ async function handleCancel() {
 async function handlePay() {
   const res = await useUserStore().handleCommonPayMent(String(unref(orderInfo)?.orderNumber))
   if (res.payType !== 1) {
+    // #ifdef MP-WEIXIN
     await useUserStore().getWxCommonPayment(res)
     getDetail(String(unref(orderInfo)?.orderNumber))
+    // #endif
+    // #ifdef H5
+    useUserStore().handleCommonWechatPay(String(unref(orderInfo)?.orderNumber))
+    // #endif
   }
   else {
     getDetail(String(unref(orderInfo)?.orderNumber))

+ 5 - 0
src/subPack-smqjh/components/djk-order/index.vue

@@ -17,8 +17,13 @@ async function handleCancel(order: Api.xsbOrderList) {
 async function handlePay(orderNumber: string) {
   const res = await useUserStore().handleCommonPayMent?.(orderNumber)
   if (res?.payType !== 1 && res) {
+    // #ifdef MP-WEIXIN
     await useUserStore().getWxCommonPayment(res)
     _emit('refresh')
+    // #endif
+    // #ifdef H5
+    useUserStore().handleCommonWechatPay(orderNumber)
+    // #endif
   }
   else {
     _emit('refresh')

+ 5 - 0
src/subPack-xsb/orderDetaile/index.vue

@@ -81,8 +81,13 @@ async function handleCancel() {
 async function handlePay() {
   const res = await useUserStore().handleCommonPayMent(String(unref(orderInfo)?.orderNumber))
   if (res.payType !== 1) {
+    // #ifdef MP-WEIXIN
     await useUserStore().getWxCommonPayment(res)
     getDetail(String(unref(orderInfo)?.orderNumber))
+    // #endif
+    // #ifdef H5
+    useUserStore().handleCommonWechatPay(String(unref(orderInfo)?.orderNumber))
+    // #endif
   }
   else {
     getDetail(String(unref(orderInfo)?.orderNumber))