vue之用户登录无操作一段时间后退出登录

  • Post author:
  • Post category:vue



资料



https://segmentfault.com/q/1010000009701743


找这个用户的回答

在这里插入图片描述

<template>
  <div id="app" @click="isTimeOut">
    <div id="main">
      <router-view ></router-view>
    </div>
  </div>
</template>


data() {
    return {
      lastTime: null, // 最后一次点击的时间
      currentTime: null, // 当前点击的时间
      timeOut: 1 * 60 * 60 * 1000, // 设置超时时间:60分钟
    };
  },
  created() {
    this.lastTime = new Date().getTime();
  },
  methods: {
    isTimeOut() {
      this.currentTime = new Date().getTime(); // 记录这次点击的时间
      if (this.currentTime - this.lastTime > this.timeOut) {
        // 判断上次最后一次点击的时间和这次点击的时间间隔是否大于60分钟
        if (localStorage.getItem("token")) {
          // 如果是登录状态
          this.$message.error("登录超时,请重新登录");
          localStorage.removeItem("token");
          this.config.userInfo.token = undefined;
          this.$router.push({ name: "home" });
        } else {
          this.lastTime = new Date().getTime();
        }
      } else {
        this.lastTime = new Date().getTime(); // 如果在60分钟内点击,则把这次点击的时间记录覆盖掉之前存的最后一次点击的时间
      }
    },
  },
  


自己设置的


localStorage.getItem(“token”)

localStorage.removeItem(“token”);

this.config.userInfo.token = undefined;



版权声明:本文为huanxianxianshi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。