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()
}
})
这就是我的实现思路
代码在上面