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页面共享一个时间计时器

相关推荐
仿生狮子7 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
kyriewen7 小时前
AI 写的 React 组件,合并前必查的 6 个坏味道——每个都有代码对比
前端·javascript·react.js
Highcharts.js7 小时前
软件开发公司为什么选择 Highcharts?
前端·前端框架·echarts·数据可视化·技术选型·highcharts·图表工具
多加点辣也没关系8 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜8 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
阿祖zu8 小时前
企业 AI 转型之痛,个人提效十倍不止,组织效率仍止步不前?
前端·aigc·agent
摇滚侠9 小时前
SpringBoot3+Vue3 全套视频教程 45-51
前端·javascript·vue.js
触底反弹10 小时前
🔥 RAG 到底是怎么工作的?掰开揉碎了给你讲明白!
javascript·人工智能·后端
Hilaku10 小时前
前端大裁员背后的恐慌:我们还剩什么底牌?
前端·javascript·程序员
云空10 小时前
《Three.js 3D实例大全》
开发语言·javascript·3d·three.js