//引入qrcode
import QRCode from 'qrcode'
async open() {
//生成二维码地址
let payCode = await QRCode.toDataURL(this.payInfo.codeUrl);
this.$alert(`<img src=${payCode}></img>`, '微信扫码支付', {
center:true,
dangerouslyUseHTMLString: true,
showClose:false,
showCancelButton:true,
cancelButtonText:'支付遇见问题',
confirmButtonText:"已支付成功",
beforeClose:(action, instance, done)=>{
if (action=='cancel'){
alert('请联系管理员')
// 清除计时器
clearInterval(this.timer)
this.timer=null
// 关闭弹窗
done()
}else {
// 判断是否真的支付
if (this.code==200){
clearInterval(this.timer)
this.timer=null
// 跳转
done()
this.$router.push('/paySuccess')
}
}
}
}).then(res=>{
console.log('res',res)
}).catch(err=>{
console.log('err',err)
})//必须要有catch,不然会报错
// 是否支付成功
// 开启定时器
if (!this.timer){
this.timer=setInterval(async ()=>{
// 发请求获取用户支付的状态
let result = await this.$API.paymentWeixinQueryPayStatus(this.orderId);
if (result.code==200){
clearInterval(this.timer)
this.timer=null
//保存支付的状态
this.code=result.code
//关闭弹出窗
this.$msgbox.close()
//跳转到下一个路口
this.$router.push('/paySuccess')
}
},1000)
}
},