关于处理微信小程序token过期问题

mubai
  • 37

我之前看到一个处理token过期方案是这样的:在app.js onLoad里面执行登陆函数的时候先看Storage也没有token如果有就调用一个检测token过期接口如果过期了就重新执行登陆函数没有就不执行登陆函数,如果storage没有值就执行登陆函数

const token = wx.getStorageSync(Token);

if(token && token.lenght !==0){//如果token有值检查token是否刚过期

this.check_token(token)

}else{//没有则重新执行login函数

this.login()

}
},

但是这样写就有一个问题就是如果我小程序一直持续到token过期都不关闭那样都话我小程序不重新加载token就不会刷新,如果是这样请求接口的时候必定会报错那样的话有什么解决方法。
还有一种方案就是小程序每次请求接口的时候后台都会进行检测你的token是否过期,然后根据相应的返回code来进行更新token,但是这样写的话如果我一个页面要访问多个接口那样的话就会执行多个更新token函数那样的话会浪费网络资源。
请问有那个大神还有更好的解决方案的,我小白一个刚刚接触这个,还请有大神看到的指点指点。

回复
阅读 5.3k
2 个回答

今天正好写了小游戏的一个服务接口,用的就是你说的第二种方式。因为http请求本身就是无状态的,那么我们在通信的时候需要确定身份的时候肯定需要传递必要的信息过去,这个我觉得是http本身的问题,如果想要确定身份,那么就得有凭证。使用cookie或者session也是一样的道理。
ps: 抛砖引玉,同新手。

辰丿诺
  • 1
新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏