长时间不操作返回登陆页(vue项目)

1、思路如下:

 某系统:用户长时间不操作,退出系统,并返回登陆页。(不是监听鼠标移动、页面滚动等,这里采用长时间不触发接口调用,才执行退出系统,并返回登陆页)。

代码如下:

// 引入axios 
import axios from 'axios';
// 引入vuex 
import store from '@/store/';


// 提前定义参数
let time;
 

// 30分钟不操作,存储请求时间
function startSetTimeout() {
  time = setTimeout(() => {
    // 其中 LogOff 是退出接口。
    store.dispatch('LogOff').then(() => {
      router.push({ path: '/login' });
      ElMessage({
        message: '30分钟未对系统进行任何操作登陆失效,请重新登陆。',
        type: 'error',
      });
    });
  }, 1000 * 1800);
}


// HTTPrequest拦截
axios.interceptors.request.use(
  (config) => {
    // 每次调用接口前,清除定时器
    clearTimeout(time); 

    // 每个接口请求发出后重新启动定时器
    startSetTimeout();
  },
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值