判断登陆是否失效代码

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





本文转载自中文网
 

推荐阅读