在vue单页应用的时候,安卓手机第一次授权登陆支付页面的时候,调不起微信支付,第二次在进入的时候可以调起来?
if(data.code==200){
var appId = data.data.order.appId;
var timeStamp = data.data.order.timeStamp;
var nonceStr = data.data.order.nonceStr;
var pg = data.data.order.package;
var signType = data.data.order.signType;
var paySign = data.data.order.paySign;
var order_id = data.data.order.order_id;
var signature = data.data.jsapi.signature;
if(appId&&timeStamp&&nonceStr&&pg&&signType&&paySign&&order_id&&signature){
wx.config({
debug: false,
appId: appId, // 必填,公众号的唯一标识
timestamp: timeStamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature,// 必填,签名,见附录1
jsApiList: [
"chooseWXPay"
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
wx.chooseWXPay({
timestamp: timeStamp,
nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
package: pg, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
signType: signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign: paySign, // 支付签名
success: function (res) {
// 支付成功后的回调函数
_self.$router.push({ name: 'Control',query:{'device_id':_self.device_id} })
},
cancel:function(res){
return new Promise((resolve, reject) => {
cancel_order(order_id).then(response=>{
const data = response.data;
})
})
}
});
});
}else{
data.message = '缺少参数!';
var q = data;
new Promise((resolve, reject) => {
errorLog(q).then(response=>{
const data = response.data;
})
})
}
}
我也遇到了这个问题,安卓公众号授权后第一次支付,无法调起微信支付界面,刷新一下或第二次进入不授权就可以调起来,请问您解决了吗?