From 0cfe50c34659fc30b8e6cdc05d9e4198efa71be9 Mon Sep 17 00:00:00 2001
From: web <candymxq888@outlook.com>
Date: 星期五, 04 七月 2025 16:26:56 +0800
Subject: [PATCH] 支付模块

---
 pages/recharge/index.vue |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/pages/recharge/index.vue b/pages/recharge/index.vue
index f2c4e34..5c84c99 100644
--- a/pages/recharge/index.vue
+++ b/pages/recharge/index.vue
@@ -37,7 +37,7 @@
 					</view>
 				</view>
 			</view>
-			<button :style="{opacity:payStatus ? 1 : 0.7}" class="submit-btn" @click="submit()">立即充值</button>
+			<button :disabled="payStatus" class="submit-btn" @click="submit()">立即充值</button>
 		</view>
 	</view>
 </template>
@@ -71,7 +71,7 @@
 		{text:"微信支付",value:2,checked:true,img:'../../static/images/recharge/wx.png'},
 	])
 	let timerId 
-	let payStatus = ref(true)
+	let payStatus = ref(false)
 	
 	const chooseMoney = (index1) => {
 		moneyList.value.forEach((item,index) =>{
@@ -91,11 +91,8 @@
 	}
 
 	const submit = () => {
-		if(payStatus.value){
-			payStatus.value = false
-			timerId = setTimeout(()=>{
-				payStatus.value = true
-			},20000)
+		payStatus.value = true; //点击后禁用按钮
+		try{
 			let money = ''
 			if(disabled.value){
 				money = choosedMoney.value
@@ -103,25 +100,27 @@
 				money = Number(otherMoney.value)
 			}
 			let data = {
-			        cardNumber:userInfo.waterCardNumber,
-			        paymentMethod:1,
-			        rechargeAmount:money
-			    }
+				cardNumber:userInfo.waterCardNumber,
+				paymentMethod:1,
+				rechargeAmount:money
+			}
 			//生成订单
-			rechargeApi(data).then(async(res) =>{
+			rechargeApi(data).then(async (res) =>{
 				if(res.code == 200){
 					let data = {
 						businessType:1,
 						businessNo:res.data
-						}
+					}
 					//发起支付
 					await wxPay(data)
 					otherMoney.value = ''
+					payStatus.value = false;
 				}
 			})
-		}else{
+		}catch(err){
+			payStatus.value = false;
 			uni.showToast({
-				title:'充值间隔20秒,请稍后!',
+				title:'失败',
 				icon:'none'
 			})
 		}
@@ -132,9 +131,10 @@
 		wxPayApi(data).then((res) =>{
 			if(res.code == 200){
 				//调用微信官方支付接口弹出付款界面,输入密码扣款
-				wx.requestPayment({
+				uni.requestPayment({
 				  //预支付订单信息
 				  // appId: res.data.appId,
+				  provider: 'wxpay',
 				  timeStamp: res.data.timeStamp,     //时间戳 
 				  nonceStr: res.data.nonceStr,      //随机串     
 				  package: res.data.package,		//prepay_id

--
Gitblit v1.9.3