PC端 浏览器打开同一网址 不同用户登录 本地token 刷新

136 阅读1分钟

PC端 浏览器打开同一网址 不同权限用户登录 实现本地token同步刷新

  • 通过监听 离开页面 和进入页面 token 存储值得不同来实现页面 强制刷新
    this.token = localStorage.getItem('BiToken')
    document.addEventListener('visibilitychange', () => {
      //document.visibilityState === 'hidden'  离开页面  用户息屏、或者切换后台运行
      if(document.visibilityState === 'hidden') {
        this.changeToken = localStorage.getItem('BiToken')
        console.log('离开token',this.changeToken)
      }
      //document.visibilityState === 'visible' 回到页面 打开
      else{
        console.log('回到页面',this.token,'changeToken',this.changeToken)
        if(this.token !==  this.changeToken){
          //当token发生变化时 强制刷新页面 同步路由权限 和 用户名
          window.location.reload() 
          // 业务代码
          setLocalStorage("oneMenu",0)
          let select = 0 +'-'+ 0
          setLocalStorage("select",select)
        }
      }
    })