在app.onLaunch相同代码跳转页面有时报错有时成功
发布于 6 年前 作者 xia55 13303 次浏览 来自 问答
  • 预期表现

每次都能实现成功跳转

  • 复现路径
  • 提供一个最简复现 Demo

在pages页面新建一个授权页

将一下代码复制到APP.JS中即可模拟

App({

onLaunch: function() {

// 展示本地存储能力

var logs = wx.getStorageSync(‘logs’) || []

logs.unshift(Date.now())

wx.setStorageSync(‘logs’, logs)

// 获取用户信息

wx.getSetting({

success: res => {

if (res.authSetting[‘scope.userInfo’]) {

console.log(“已授权”)

// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

wx.getUserInfo({

success: res => {

// 可以将 res 发送给后台解码出 unionId

this.globalData.userInfo = res.userInfo

// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

// 所以此处加入 callback 以防止这种情况

if (this.userInfoReadyCallback) {

this.userInfoReadyCallback(res)

}

}

})

}else{

console.log(“未授权”)

wx.navigateTo({

url: ‘…/authorization/authorization’,

})

}

}

})

},

1 回复

是否与你进入小程序的页面不同导致,可以使用/pages/authorization/authorization

回到顶部