关于处理微信小程序token过期问题
我之前看到一个处理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函数那样的话会浪费网络资源。
请问有那个大神还有更好的解决方案的,我小白一个刚刚接触这个,还请有大神看到的指点指点。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
今天正好写了小游戏的一个服务接口,用的就是你说的第二种方式。因为http请求本身就是无状态的,那么我们在通信的时候需要确定身份的时候肯定需要传递必要的信息过去,这个我觉得是http本身的问题,如果想要确定身份,那么就得有凭证。使用cookie或者session也是一样的道理。
ps: 抛砖引玉,同新手。
token失效之后无感知获取新token(多个请求只获取一次)并继续之前的操作https://juejin.cn/post/694088...