//app.js App({ onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登录 wx.login({ success: res => { let self = this; wx.request({ url: `https://api.weixin.qq.com/sns/jscode2session?appid=wxfdaeb25e38c4c47e&secret=e5b5055cbc608d10c6de0d877c221270&js_code=${res.code}&grant_type=authorization_code`, data:{}, success:function(res){ self.globalData.userId.openid = res.data.openid; self.globalData.userId.unionid = res.data.unionid; } }) // 发送 res.code 到后台换取 openId, sessionKey, unionId } }) // 获取用户信息 wx.getSetting({ success: res => { let self = this; if (res.authSetting['scope.userInfo']) { // // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 // wx.getUserInfo({ // success: res => { // // 可以将 res 发送给后台解码出 unionId // self.globalData.userInfo = res.userInfo // wx.request({ // url: 'https://passport.lrlz.com/mobile/index.php?act=login&op=wxauthor&client_type=ios', // method: 'GET', // data: { // user_info: userInfo // }, // success: function (res) { // wx.setStorageSync('session_id', res.data.datas.HPHPSESSID); // if (res.statusCode == 200) { // wx.switchTab({ // url: '/pages/index/index' // }) // } // else { // } // } // }) // // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // // 所以此处加入 callback 以防止这种情况 // if (this.userInfoReadyCallback) { // this.userInfoReadyCallback(res) // } // } // }) wx.authorize({ scope: 'scope.userInfo', success: function (res) { wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId self.globalData.userInfo = res.userInfo; self.globalData.userInfo.nickname = res.userInfo.nickName; let userInfo = Object.assign({}, self.globalData.userId, self.globalData.userInfo); wx.request({ url: 'https://passport.lrlz.com/mobile/index.php?act=login&op=wxauthor&client_type=ios', method: 'GET', data: { user_info: userInfo }, success: function (res) { wx.setStorageSync('session_id', res.data.datas.HPHPSESSID); if (res.statusCode == 200) { wx.switchTab({ url: '/pages/index/index' }) } else { } } }) // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } }); } else { wx.authorize({ scope:'scope.userInfo', success:function(res){ wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId self.globalData.userInfo = res.userInfo; self.globalData.userInfo.nickname = res.userInfo.nickName; let userInfo = Object.assign({}, self.globalData.userId, self.globalData.userInfo); wx.request({ url: 'https://passport.lrlz.com/mobile/index.php?act=login&op=wxauthor&client_type=ios', method:'GET', data:{ user_info: userInfo }, success:function(res){ wx.setStorageSync('session_id', res.data.datas.HPHPSESSID); if (res.statusCode == 200) { wx.switchTab({ url: '/pages/index/index' }) } else { } } }) // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } }); } } }) }, globalData: { userId:{ openid:'', unionid:'' }, userInfo: {} } })