Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
521 views
in Technique[技术] by (71.8m points)

关于处理微信小程序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函数那样的话会浪费网络资源。
请问有那个大神还有更好的解决方案的,我小白一个刚刚接触这个,还请有大神看到的指点指点。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...