好的多谢
app.globalData出现错误?[图片] 反正我也不知道是个什么情况…… 代码如下,也就是微信小程序默认的启示界面的代码稍改了一下 [代码]onLoad: [代码][代码]function[代码] [代码](options) {[代码][代码] [代码][代码]console.log(app.globalData)[代码][代码] [代码][代码]if[代码] [代码](app.globalData.userInfo) {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]userInfo: app.globalData.userInfo,[代码][代码] [代码][代码]hasUserInfo: [代码][代码]true[代码][代码] [代码][代码]})[代码][代码] [代码][代码]setTimeout([代码][代码]function[代码][代码](res){[代码][代码] [代码][代码]wx.switchTab({[代码][代码] [代码][代码]url: [代码][代码]'/pages/My/MyPage/MyPage'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},2000)[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]if[代码] [代码]([代码][代码]this[代码][代码].data.canIUse) {[代码][代码] [代码][代码]// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回[代码][代码] [代码][代码]// 所以此处加入 callback 以防止这种情况[代码][代码] [代码][代码]app.userInfoReadyCallback = res => {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]userInfo: res.userInfo,[代码][代码] [代码][代码]hasUserInfo: [代码][代码]true[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]// 在没有 open-type=getUserInfo 版本的兼容处理[代码][代码] [代码][代码]wx.getUserInfo({[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]app.globalData.userInfo = res.userInfo[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]userInfo: res.userInfo,[代码][代码] [代码][代码]hasUserInfo: [代码][代码]true[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码] app.js [代码]onLaunch: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]// 检查是否更新[代码][代码] [代码][代码]this[代码][代码].checkForUpdate()[代码][代码] [代码][代码]// 展示本地存储能力[代码][代码] [代码][代码]var[代码] [代码]logs = wx.getStorageSync([代码][代码]'logs'[代码][代码]) || [][代码][代码] [代码][代码]logs.unshift(Date.now())[代码][代码] [代码][代码]wx.setStorageSync([代码][代码]'logs'[代码][代码], logs)[代码] [代码] [代码] [代码] [代码][代码]// 获取用户信息[代码][代码] [代码][代码]wx.getSetting({[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]if[代码] [代码](res.authSetting[[代码][代码]'scope.userInfo'[代码][代码]]) {[代码][代码] [代码][代码]// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框[代码][代码] [代码][代码]wx.getUserInfo({[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]// 可以将 res 发送给后台解码出 unionId[代码][代码] [代码][代码]console.log(res.userInfo)[代码][代码] [代码][代码]this[代码][代码].globalData.userInfo = res.userInfo[代码][代码] [代码][代码]// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回[代码][代码] [代码][代码]// 所以此处加入 callback 以防止这种情况[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].userInfoReadyCallback) {[代码][代码] [代码][代码]this[代码][代码].userInfoReadyCallback(res)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码] [代码]},[代码]
2019-10-18