This commit is contained in:
linfso 2025-06-20 14:13:36 +08:00
parent 007c61b606
commit f62caaabe1

View File

@ -1,15 +1,19 @@
<template>
<div class="wechat-payment-container" style="background: #fff;padding: 1rem;">
<div v-if="!isWx">请在微信浏览器中打开此页面进行支付</div>
<div v-if="resultVisible&&isWx" >
<div v-if="payStatus!=0&&isWx" >
<div v-if="payStatus&&payStatus==1" class="text-center" >
<h1 style="font-size: 24px; color: #303133; margin-bottom: 10px;">支付中</h1>
<p style="color: #606266; margin-bottom: 30px;">{{ errorMessage }}</p>
</div>
<!-- 失败状态提示 -->
<div v-if="resultVisible&&!paymentSuccess" class="text-center" >
<i class="el-icon-circle-check"></i>
<div v-if="payStatus&&payStatus==3" class="text-center" >
<h1 style="font-size: 24px; color: #303133; margin-bottom: 10px;">支付失败</h1>
<p style="color: #606266; margin-bottom: 30px;">{{ errorMessage }}</p>
</div>
<div v-if="paymentSuccess" class="text-center">
<div v-if="payStatus&&payStatus==2" class="text-center">
<i class="el-icon-circle-check success-icon"></i>
<h1 style="font-size: 24px; color: #303133; margin-bottom: 10px;">支付成功</h1>
<p style="color: #606266; margin-bottom: 30px;">感谢您的支持,我们将竭诚为您服务</p>
@ -160,7 +164,6 @@ export default {
payStatus:0,
loadingVisible: false,
resultVisible: false,
paymentSuccess: false,
errorMessage: '',
wechatPaymentParams: null,
@ -202,7 +205,7 @@ export default {
recType: null,
payMan: null,
payManCode: null,
settleBillNo: this.settleBillNo,
settleBillNo: null,
blAudit: null,
auditDate: null,
auditManCode: null,
@ -216,7 +219,7 @@ export default {
breakReason: null,
breakEmpCode: null,
recManCode: null,
settleType: this.settleType,
settleType: null,
refundDate: null,
refundManCode: null,
refundSeq: null,
@ -256,6 +259,7 @@ export default {
this.settleBillItem = response.data.data;
// console.log("===>this.settleBillItem==>",this.settleBillItem);
} else {
this.payStatus==3;
this.showPaymentResult(false, response.data.msg || '获取账单失败');
}
})
@ -278,6 +282,7 @@ export default {
requestPayment(code,state) {
this.loadingVisible = true;
this.payStatus==1;
// 调用后端API获取微信支付参数
axios.post(process.env.VUE_APP_BASE_API+'/oms2c/common/sumbitWxPayByCode', {
code: code,
@ -289,6 +294,7 @@ export default {
this.wechatPaymentParams = response.data.data;
this.invokeWechatPayment();
} else {
this.payStatus==3;
this.showPaymentResult(false, response.message || '获取支付参数失败');
}
})
@ -341,7 +347,7 @@ export default {
// 这里使用模拟数据
// 调用接口查询是否成功
this.payStatus==2;
this.loadingVisible = false;
this.showPaymentResult(true);
}, 1500);
@ -349,10 +355,8 @@ export default {
showPaymentResult(success, message = '') {
this.paymentSuccess = success;
this.errorMessage = message;
this.resultVisible = true;
},
handleResultAction() {
this.resultVisible = false;
if (this.paymentSuccess) {
// this.$router.push({ name: 'OrderSuccess', params: { orderId: this.orderInfo.orderId } });
}
@ -368,21 +372,6 @@ export default {
const encodedRedirectUri = encodeURIComponent(redirectUri);
return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${encodedRedirectUri}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`;
},
// /**
// * 将code发送到后端换取openid
// * @param {string} code - 微信授权码
// */
// async exchangeCodeForOpenid(code) {
// try {
// const response = await this.$axios.post('/api/wechat/auth/openid', { code });
// return response.data;
// } catch (error) {
// console.error('换取OpenID失败:', error);
// throw error;
// }
// }
}
};
</script>