vue同一个浏览器登录不同账号数据覆盖问题解决方案

116 阅读1分钟

当前项目token保存在Cookies中,一个浏览器同一时间只能登录一个账号  打开俩个页面 登录了俩个账号 前一个页面会自动更新成第二个账号

解决方案如下:登录时候将token再保存到sessionStorage中一份

window.sessionStorage.setItem('userToken',userToken)

在app.vue页面监听浏览器标签页是否被激活,如果激活了 分别取一下sessionStorage和Cookies对比一下token是否一致如果不一致进行页面刷新。代码如下:

document.addEventListener("visibilitychange", function(){
  if(document.hidden ){
  }else{
    //回到浏览器时刷新当前页面
    let value = window.sessionStorage.getItem('userToken');
   let val= Cookies.get('ZYFWUserToken')
    if(value != val ){
      window.location.reload();
      window.sessionStorage.setItem('userToken',val)
    }

  }
});