//app.js App({ onLaunch: function () { // 登录 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']) { let local_session_id = wx.getStorageSync('session_id'); if (local_session_id == '') { 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) { let current_url = "/" + getCurrentPages()[0].route; wx.reLaunch({ url: current_url }); } else { } } }) // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } else { wx.getUserInfo({ success: res => { self.globalData.userInfo = res.userInfo; } }) } } 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) { let current_url = "/" + getCurrentPages()[0].route; wx.reLaunch({ url: current_url }); } else { } } }) // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } }); } } }) }, globalData: { userId:{ openid:'', unionid:'' }, userInfo: {}, defaultAddress: null }, checkDefaultAddress(address) { this.globalData.defaultAddress = address } })