wx.getStorage({ key: 'session_id', success: function(res) { //若是本地緩存中有session_id,則說明用戶登錄過 console.log("本地緩存中的session_id:" + res.data) //判斷微信服務器session是否有效 wx.checkSession({ success: function(res) { console.log("處於登陸態,session有效"); //若是已經受權過了而且session有效,則直接跳轉到業務頁面 wx.switchTab({ url: '/pages/leader/leader', complete: function(res) {} }) }, fail: function(res) { //若是微信服務端的session已經無效,須要從新執行登陸的過程 // 登陸 wx.login({ success: function(res) { console.log(res) that.setData({ code: res.code }) } }), // 獲取用戶信息 wx.getSetting({ success: res => { //判斷用戶是否受權 if (res.authSetting['scope.userInfo']) { console.log("用戶贊成獲取基本信息"); // 已經受權,能夠直接調用 getUserInfo 獲取頭像暱稱,不會彈框 wx.getUserInfo({ lang: "zh_CN", success: res => { console.log("獲取到的用戶信息:" + res.userInfo.nickName); console.log("獲取到的加密信息:" + res.encryptedData); console.log("獲取到的code:" + that.data.code); console.log("獲取到的iv:" + res.iv); var url = app.globalData.ApiUrl + "/KingSmall/wxlogin"; wx.request({ url: url, data: { code: that.data.code, encryptedData: res.encryptedData, iv: res.iv }, success(res) { console.log("返回的session_id:" + res.data); wx.setStorage({ key: 'session_id', data: res.data, }), //處理成功,跳轉到對應的頁面 wx.switchTab({ url: '/pages/leader/leader', complete: function (res) { } }) } }) } }) } else { console.log("用戶拒絕獲取基本信息"); } } }) }, complete: function(res) {}, }) }, //若是獲取不到本地的sessionid 則讓用戶從新登陸 fail: function(res) { console.log("獲取失敗的session_id:" + res.data); // 登陸 wx.login({ success: function(res) { console.log(res) that.setData({ code: res.code }) } }), // 獲取用戶信息 wx.getSetting({ success: res => { //判斷用戶是否受權 if (res.authSetting['scope.userInfo']) { console.log("用戶贊成獲取基本信息"); // 已經受權,能夠直接調用 getUserInfo 獲取頭像暱稱,不會彈框 wx.getUserInfo({ lang: "zh_CN", success: res => { console.log("獲取到的用戶信息:" + res.userInfo.nickName); console.log("獲取到的加密信息:" + res.encryptedData); console.log("獲取到的code:" + that.data.code); console.log("獲取到的iv:" + res.iv); var url = app.globalData.ApiUrl + "/KingSmall/wxlogin"; wx.request({ url: url, data: { code: that.data.code, encryptedData: res.encryptedData, iv: res.iv }, success(res) { console.log("返回的session_id:" + res.data); wx.setStorage({ key: 'session_id', data: res.data, }) //處理成功,跳轉到對應的頁面 wx.switchTab({ url: '/pages/leader/leader', complete: function(res) {} }) } }) } }) } else { console.log("用戶拒絕獲取基本信息"); } } }) } }),