var that = this;
new Promise((resolve, reject) => {
// 檢查wx.login有沒有失效,失效的話重新wx.login
wx.checkSession({
success() {
console.log('code', wx.getStorageSync('code'));
console.log('globalData', wx.getStorageSync('globalData'));
//如果小程序再次從后台進入前台的話,用storage保存的話是有值的
//如果用this.globalData的話來保存數據,下次從后台進入前台的話是值還是空的
},
fail() {
wx.login({
success(res) {
wx.getUserInfo({
success(re) {
wx.setStorageSync('code', res.code)
that.globalData.code = res.code;
that.globalData.userInfo = re.userInfo;
wx.setStorageSync('globalData', that.globalData);
}
})
},
fail: function(err) {
}
})
}
})
resolve();
}).then((res) => {
var code=wx.getStorageSync('code');
var globalData=wx.getStorageSync('globalData')
})
第一首先wx.checkSession是判斷wx.login方法登錄態有沒有失效的
思路
wx.checkSession({
success(){
//這時候的登陸態是沒有失效的,可以不用再去wx.login
//但是照我的需求,我接下來要去連接口,需要登陸的數據,但是這時候數據怎么拿
1.如果小程序再次從后台進入前台的話,用storage保存的話是有值的
2.如果用this.globalData的話來保存數據,下次從后台進入前台的話是值還是空的
},
fail(){
wx.login()
}
})
這就是我的實現思路
代碼在上面