From 49fa0d82a40345342966e810b44429aec0480ef3 Mon Sep 17 00:00:00 2001 From: web <candymxq888@outlook.com> Date: 星期二, 01 七月 2025 17:00:18 +0800 Subject: [PATCH] fix:修改.gitgnore文件,移除打包文件 --- pages/scanWater/index.vue | 100 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 68 insertions(+), 32 deletions(-) diff --git a/pages/scanWater/index.vue b/pages/scanWater/index.vue index 57d4a94..12bd111 100644 --- a/pages/scanWater/index.vue +++ b/pages/scanWater/index.vue @@ -28,7 +28,7 @@ const payMethod = ref(2) const payList = ref([ // {text:"支付宝支付",value:1,checked:true,img:'../../static/images/recharge/pay.png'}, - {text:"微信支付",value:2,checked:true,img:'../../static/images/recharge/wx.png'}, + {text:"微信",value:2,checked:true,img:'../../static/images/recharge/wx.png'}, {text:"余额",value:1,checked:false,img:'../../static/images/recharge/balance.png'}, ]) function choosePay(index1){ @@ -41,36 +41,56 @@ payMethod.value = payList.value[index1].value console.log('index',index1,payMethod.value) } + //确认支付 + let timerId + let payState = ref(true) async function submit(){ + if(payState.value){ + payState.value = false + timerId = setTimeout(() =>{ + payState.value = true + },20000) + //余额支付 if(payMethod.value == 1){ - let data = { - payType:payMethod.value, - card:JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber, - amount:choosedMoney.value, - sn:facilityCode.value - } - //余额支付回 - await buyWaterApi(data).then((res) =>{ - console.log('余额支付回调',res,'传参',data) - if(res.code == 200){ - uni.navigateTo({ - url:'/pages/scanSuccess/index' - }) - }else{ - uni.showToast({ - title:'支付失败!', - icon:'none' - }) + if(choosedMoney.value > Number(userBalance.value)){ + uni.showToast({ + title:'水卡余额不足', + icon:'none' + }) + }else{ + let data = { + payType:payMethod.value, + card:JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber, + amount:choosedMoney.value, + sn:facilityCode.value } - }) + //余额支付回 + await buyWaterApi(data).then((res) =>{ + console.log('余额支付回调',res,'传参',data) + if(res.code == 200){ + uni.navigateTo({ + url:'/pages/scanSuccess/index' + }) + }else if(res.code == 300){ + uni.showToast({ + title:res.msg, + icon:'none' + }) + }else{ + uni.showToast({ + title:'支付失败,联系管理员', + icon:'none' + }) + } + }) + } + //微信支付 }else if(payMethod.value == 2){ let data = { businessType:3, tradeAmount:choosedMoney.value, facilityCode:facilityCode.value, - } - - console.log('data',data) + } await wxPayApi(data).then((res) =>{ console.log('微信支付回调',res,'传参',data) if(res.code == 200){ @@ -86,16 +106,12 @@ success (res) { if (res.errMsg == "requestPayment:ok"){ console.log('支付成功', res) - uni.showToast({ - title: '支付成功', - duration: 2000, - }); uni.navigateTo({ url:'/pages/scanSuccess/index' }) }else{ uni.showToast({ - title: '支付失败', + title: '微信支付失败', duration: 2000, icon:'none' }); @@ -109,15 +125,34 @@ }); } }) + }else if(res.code == 300){ + uni.showToast({ + title:res.msg, + duration: 2000, + icon:'none' + }); + }else{ + uni.showToast({ + title:'微信支付失败', + duration: 2000, + icon:'none' + }); } + }) + } + }else{ + uni.showToast({ + title:'支付间隔20秒,请稍后!', + icon:'none' }) } } const facilityCode = ref() onLoad((option) =>{ facilityCode.value = option.facilityCode + console.log('小程序扫码取水','option.facilityCode',option.facilityCode,'传参SN',facilityCode.value) }) - //设置水价及支付方式 + //设置水价,设置支付方式,用户未绑定会员卡不显示余额支付选项 async function getWaterPrice(){ await getPriceBySnApi(facilityCode.value).then((res) =>{ moneyList.value.forEach((item,index) =>{ @@ -125,9 +160,10 @@ item.volume = ((index + 1) * res.data.yield).toFixed(1) }) choosedMoney.value = res.data.price - console.log('水价设置回调',res,'传参',facilityCode.value) + console.log('水价设置回调',res,'传参',facilityCode.value,'水价列表',choosedMoney.value) }) - let waterCardNumber = JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber + let waterCardNumber = (uni.getStorageSync('userInfo') && JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber ) + console.log('用户水卡信息',uni.getStorageSync('userInfo')) if(!waterCardNumber){ payList.value.splice(1,1) } @@ -175,7 +211,7 @@ </view> </view> </view> - <view class="submit-btn" @click="submit()">确认支付</view> + <view :style="{opacity:payState ? 1 : 0.7}" class="submit-btn" @click="submit()">确认支付</view> </view> </view> </template> -- Gitblit v1.9.3