1、请求后台接口获取wx需要数据
将请求接口得来的数据存到全局变量里面 payData 。
Ajax('post', '/api', obj).then(res => {
let data = res.data;
this.payData = data;
//wx判断支付环境是否可用,若环境准备好接着调用 onBridgeReady()方法
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else{
this.onBridgeReady();
}
}).catch(e => {
alert(e)
this.canSubmit=true;
})
2、将后台返回的参数传到wx
调用wx支付方法,将上面请求后台接口返回的参数传给wx 。在用户支付成功后进行下一步操作。
//微信支付
onBridgeReady() {
let that = this;
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": this.payData.appId, //公众号名称,由商户传入
"timeStamp": this.payData.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": this.payData.nonceStr, //随机串
"package": this.payData.package,
"signType": this.payData.signType, //微信签名方式:
"paySign": this.payData.paySign //微信签名
},
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
//支付成功
window.location.href="/activity";
}else if (res.err_msg == "get_brand_wcpay_request:fail") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
alert(res.err_msg);
}
});
},

1万+

被折叠的 条评论
为什么被折叠?



