单页应用微信浏览器不能正确的刷新当前页面的 href。
解决办法是进入支付页面后强制刷新一次当前页面。
这里需要注意的一点是,在微信支付的后台配置支付路径时,注意他要求配置的是目录!!
意思是如果你的支付页面是 /pages/pay/pay
那你应该配置的目录为 /pages/pay/
目录末尾有斜杆!
ps:真的坑。
下面是代码:
onLoad(options) {
// 1. 初始化页面数据,获取当前欠款、预付金(仅作展示用)
util.loading('初始化支付...');
// 延迟 0.5 秒再刷新页面。不然刷新不起作用
setTimeout(this.reloadUrl,500);
},
methods: {
reloadUrl(){
let key = 'wxPay_flag';
let that = this;
if (!cache.get(key)) {
// 设置缓存标识
cache.put(key,'flag');
that.newHref = 'rm';
uni.hideLoading();
that.initPage();
// 2. 获取 js api 签名
that.getSign();
}else{
cache.remove(key);
// 刷新页面
window.location.reload();
}
},
0 个评论
要回复文章请先登录或注册