如何解决token不刷新的问题
程序员文章站
2022-06-22 16:48:28
问题描述:我做的项目,是从别人的项目中跳过来的,所以自己的项目中,没有登录功能。要实现的逻辑是:从别人的域名下跳到我这的时候,会带一个cookie,我要获取这个cookie,调接口传给后台,后台返我一个token,(其实这一步相当于是登录),之后请求其他接口要带着这个token首先我遇到的第一个问题是获取cookie的值,最简单那的办法是用了一个包:js-cookie,使用方法就不说了,网上一搜一大把,第二个问题是首次别的域名跳到我的页面时,页面的数据为空,然后刷新页面恢复正常,如果是切换其他的账号...
问题描述:
我做的项目,是从别人的项目中跳过来的,所以自己的项目中,没有登录功能。要实现的逻辑是:从别人的域名下跳到我这的时候,会带一个cookie,我要获取这个cookie,调接口传给后台,后台返我一个token,(其实这一步相当于是登录),之后请求其他接口要带着这个token
首先我遇到的第一个问题是获取cookie的值,最简单那的办法是用了一个包:js-cookie,使用方法就不说了,网上一搜一大把,
第二个问题是首次别的域名跳到我的页面时,页面的数据为空,然后刷新页面恢复正常,
如果是切换其他的账号登录,第一次加载,是上一个人的信息,token也是上一个人的,经过仔细的分析,发现获取token的函数和获取个人信息列表的函数,执行顺序不对,
我的代码,是将这两个函数的调用都写到了created中了,执行的时候不是按书写的顺序执行,导致的bug,
最后,解决的办法是,定义一个中间的页面,获取token的函数定义到这个中间的页面,等token获取完成了,再用this.$router.push(‘/’)再进行跳转,这样问题就解决了
问题是解决了,但是,思考的问题是,除了这种办法,能不能将获取token的函数调用放到其他位置,既不用创建一个新的页面,也可以按照顺序执行,
欢迎大家补充
本文地址:https://blog.csdn.net/weixin_49696014/article/details/112581423