调起微信支付
WeixinJSBridge 是内置对象只能在微信浏览器中使用
methods: {
async onBridgeReady () {
//拿到支付配置信息
let res = await this.getPayConfig()
let that = this
if (res.code === 0) {
// eslint-disable-next-line no-undef
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
'appId': res.data.appId,
'timeStamp': res.data.timeStamp,
'nonceStr': res.data.nonceStr,
'package': res.data.package,
'signType': res.data.signType,
'paySign': res.data.paySign
},
function (res) {
if (res.err_msg === 'get_brand_wcpay_request:ok') {
//支付成功后
// 使用以上方式判断前端返回,微信团队郑重提示:
// res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
} else if (res.err_msg === 'get_brand_wcpay_request:cancel') {
Toast('用户取消')
} else {
Toast('支付失败')
}
})
}
},
async pay () {
if (typeof WeixinJSBridge === 'undefined') {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady, false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady)
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady)
}
} else {
this.onBridgeReady()
}
}
}