最简单的方法
每次加载小程序首先检验是否有当前缓存过期,过期就重新登录wx.login,没过期直接读取缓存,这种方法并不可靠
onLoad() {
if(wx.getStorageSync('is_show') > Date.parse(new Date())){
this.$parent.globalData.phoneNumber = wx.getStorageSync('mobile');
this.$parent.globalData.shopId = wx.getStorageSync('shop_id');
this.$parent.globalData.userId = wx.getStorageSync('user_id');
this.$parent.globalData.Authorization = true;
wx.redirectTo({
url:"./main"
})
}else{
}
};
建议做法
wx.login登录后,第三方平台通过code获取响应的session_key,再生成随机唯一的session,派发给客户端。小程序在每次发送请求时携带这个session,后台获取到session 后,首先检查是否存在,存在认为该请求有效,继续执行。(后台session存储可以采用redis存储,关于redis过期删除处理,可以采取惰性删除策略)