getWxPayData(){
this.OrderShow = true;
var vm = this;
let postData = this.$qs.stringify({
type:100
})
this.$axios({
method: 'post',
url:httpUrl.wxPay,
data:postData,
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
}).then((res)=>{
vm.weixinPay(res.data);
});
},
weixinPay(data){
var vm= this;
if (typeof WeixinJSBridge == "undefined"){//微信浏览器内置对象。参考微信官方文档
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', vm.onBridgeReady(data), false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', vm.onBridgeReady(data));
document.attachEvent('onWeixinJSBridgeReady',vm.onBridgeReady(data));
}
}else{
vm.onBridgeReady(data);
}
},
onBridgeReady:function(data) {
const vm = this;
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": data.appId, //公众号名称,由商户传入
"timeStamp": data.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": data.nonceStr, //随机串
"package": data.package,
"signType": data.signType, //微信签名方式:
"paySign": data.paySign //微信签名
},
function (res) {
alert("1:"+res.err_msg);
alert("2:"+res.err_msg+"=get_brand_wcpay_request:ok");
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
if (res.err_msg == "get_brand_wcpay_request:ok") {
alert("3:"+"get_brand_wcpay_request:ok");
vm.$router.push('/sign_ht');
} else if (res.err_msg == "get_brand_wcpay_request:fail") {
this.$router.push({
path:'/wxpay_result',
query: {
err_msg:res.err_msg
}
});
}else {
vm.$router.push('/activity_detail');
}
}
);
}
弹出三个alert,但是手机上值弹出alert("1:"+res.err_msg);
后面两个都没有弹出。。。。。
将
function (res)
修改为(res) =>
。应该是 function 影响的 this 的问题,使用箭头函数就可以了。