Liuyi
2024-12-20 d470e67ac1997882502b75cbfdaf359626cfaaa8
pages/recharge/index.vue
@@ -1,5 +1,5 @@
<script setup>
   import{ ref ,onMounted} from 'vue'
   import{ ref ,onMounted,onUnmounted} from 'vue'
   import { wxPayApi,rechargeApi } from '../../api/index.js'
   
   const choosedMoney = ref(50)
@@ -52,29 +52,44 @@
   //    payList.value[index1].checked = true
   //    payMethod.value = payList.value[index1].value
   // }
   let timerId
   let payStatus = ref(true)
   async function submit(){
      let money = ''
      if(disabled.value){
         money = choosedMoney.value
      }else{
         money = Number(otherMoney.value)
      }
      let data = {
              cardNumber:userInfo.waterCardNumber,
              paymentMethod:1,
              rechargeAmount:money
          }
      //生成订单
      await rechargeApi(data).then(async(res) =>{
         if(res.code == 200){
            let data = {
               businessType:1,
               businessNo:res.data
               }
            //发起支付
            await wxPay(data)
      if(payStatus.value){
         payStatus.value = false
         timerId = setTimeout(()=>{
            payStatus.value = true
         },20000)
         let money = ''
         if(disabled.value){
            money = choosedMoney.value
         }else{
            money = Number(otherMoney.value)
         }
      })
         let data = {
                 cardNumber:userInfo.waterCardNumber,
                 paymentMethod:1,
                 rechargeAmount:money
             }
         //生成订单
         await rechargeApi(data).then(async(res) =>{
            if(res.code == 200){
               let data = {
                  businessType:1,
                  businessNo:res.data
                  }
               //发起支付
               await wxPay(data)
               otherMoney.value = ''
            }
         })
      }else{
         uni.showToast({
            title:'充值间隔20秒,请稍后!',
            icon:'none'
         })
      }
   }
   //微信支付
   async function wxPay(data){
@@ -118,6 +133,9 @@
         }
      })
   }
   onUnmounted(() =>{
      clearTimeout(timerId)
   })
</script>
<template>
   <view class="container">
@@ -162,7 +180,7 @@
               </view>
            </view>
         </view>
         <view class="submit-btn" @click="submit()">立即充值</view>
         <view :style="{opacity:payStatus ? 1 : 0.7}" class="submit-btn" @click="submit()">立即充值</view>
      </view>
   </view>
</template>