欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何解决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