最近遇到一个问题就是写小程序的时候在请求登录授权接口之后,当前页面没有办法实时刷新接口,也就获取不到当前页面的接口信息。以往都是需要额外增加一个登录页面,今天就想到一个新的解决办法就是在请求完授权登录接口后,我们重新刷新当前页面这样就可以请求数据了,具体怎么做,上代码:
wx.showModal({
title: '温馨提示',
content: '亲,授权微信登录后才能正常使用小程序功能',
success(res) {
//如果用户点击了确定按钮
if (res.confirm) {
wx.getUserProfile({
desc: '获取你的昵称、头像、地区及性别',
success: res => {
wx.login({
success: (res3) => {
wx.request({
url: commonUrl + 'User_Auth.Login',
data: {
code: res3.code,
userInfo:res.rawData,
rid:wx.getStorageSync('rid')
},
success(res2) {
if (res2.data.ret == 200) {
wx.setStorageSync('sign', res2.data.data.sign);
var url = getCurrentPages()[getCurrentPages().length - 1].route
var url2 = url.substring(url.lastIndexOf("/") + 1);
wx.reLaunch({
url: url2,
}) //这是重点
} else {
wx.showToast({
title: res2.data.msg,
icon: 'none'
})
}
}
})
}
});
},
fail: res => {
console.log(2);
console.log(res)
//拒绝授权
wx.showToast({
title: '您拒绝了请求,不能正常使用小程序',
icon: 'error',
});
return;
}
});
} else if (res.cancel) {
//如果用户点击了取消按钮
console.log(3);
wx.showToast({
title: '您拒绝了请求,不能正常使用小程序',
icon: 'error',
duration: 2000
});
return;
}
}
});