因为在执行onLaunch的时候,小程序页面还未注册完成,所以无法跳转,可以通过加个延时来达到目的。
主要是为了授权,这样就不用在每个页面都判断授权。
onLaunch: function () {
var that = this;
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
if (that.getOpenId() == '') {
wx.navigateTo({
url: '/pages/auth/auth',
})
}
}
})
}else{
//延迟执行,可能小程序页面未注册完,导致无法跳转
setTimeout(function () {
wx.navigateTo({
url: '/pages/auth/auth',
})
}, 500)
}
}
})
},