vue项目实现---用户在页面没有操作5分钟时退出登录

方案1: 后端处理

(1)用户切换页面或者点击按钮时需要发送请求接口,如果后端判断在5分钟之内没有请求,然后将前端的token失效

方案2: 前端处理

(1)在main.js中创建全局的事件监听器来实现对键盘抬起事件和鼠标点击事件的监听

试例:Vue 项目中全局监听键盘抬起事件和鼠标点击事件:`

javascript 复制代码
// main.js

import Vue from 'vue';
import App from './App.vue';

const app = new Vue({
  render: h => h(App),
}).$mount('#app');

// 监听键盘抬起事件
window.addEventListener('keyup', function(event) {
  // 这里可以添加处理键盘抬起事件的逻辑
  console.log('键盘抬起事件:', event.key);
});

// 监听鼠标点击事件
window.addEventListener('click', function(event) {
  // 这里可以添加处理鼠标点击事件的逻辑
  console.log('鼠标点击事件:', event.clientX, event.clientY);
});

// 在Vue实例上挂载,方便在组件中使用
app.$on('keyup', function(event) {
  console.log('键盘抬起事件:', event.key);
});

app.$on('click', function(event) {
  console.log('鼠标点击事件:', event.clientX, event.clientY);
});

(2)当用户登录成功后,创建定时器,开始计时,当5分钟之内如果触发了鼠标点击事件或者键盘抬起事件,定时器重新计时,当时间累计满5分钟时,发送退出登录接口即可;;;

(3)如果涉及到打开了两个tab需要数据共享时,需要将计时时间存储在localeStroge或者BroadCast Channel,两个tab页面共享一个时间计时器

相关推荐
Bigger3 小时前
Tauri (26)——托盘图标总对不上系统主题?一行 Template Image 搞定
前端·rust·app
To_OC3 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
kyriewen5 小时前
面试官问你:“AI 能写 80% 的代码了,公司为什么还需要你?”
前端·javascript·面试
甲维斯6 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
Goodbye8 小时前
从 Token 到 Embedding:LLM 核心基础深度解析
javascript·人工智能
用户938515635078 小时前
工具调用背后:LLM 如何突破“缸中大脑”,操控真实世界?
javascript·人工智能
Goodbye8 小时前
从函数到智能:LLM Tool Use 深度解析
javascript·人工智能
半个落月8 小时前
大模型到底是怎么“调用工具”的?从一个 Node.js Demo 看懂 Tool Use
javascript·人工智能
搬砖的码农8 小时前
(08)为什么我的 Agent 一跑后台服务就卡死
前端·agent·ai编程