varthat=this;
newPromise((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)=>{
varcode=wx.getStorageSync('code');
varglobalData=wx.getStorageSync('globalData')
})
第一首先wx.checkSession是判断wx.login方法登录态有没有失效的
思路
wx.checkSession({
success(){//这时候的登陆态是没有失效的,可以不用再去wx.login
//但是照我的需求,我接下来要去连接口,需要登陆的数据,但是这时候数据怎么拿
1.如果小程序再次从后台进入前台的话,用storage保存的话是有值的
2.如果用this.globalData的话来保存数据,下次从后台进入前台的话是值还是空的},
fail(){wx.login()
}
})
这就是我的实现思路
代码在上面
本文转载自中文网 |