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

相关推荐
桜吹雪17 分钟前
markstream-vue实战踩坑笔记
前端
南村群童欺我老无力.31 分钟前
Flutter应用鸿蒙迁移实战:性能优化与渐进式迁移指南
javascript·flutter·ci/cd·华为·性能优化·typescript·harmonyos
C_心欲无痕36 分钟前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
花哥码天下39 分钟前
恢复网站console.log的脚本
前端·javascript·vue.js
LawrenceLan41 分钟前
Flutter 零基础入门(十二):枚举(enum)与状态管理的第一步
开发语言·前端·flutter·dart
Zoey的笔记本1 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
北辰alk1 小时前
Vue 的 nextTick:破解异步更新的玄机
vue.js
北辰alk1 小时前
Vue 技巧揭秘:一个事件触发多个方法,你竟然还不知道?
vue.js
北辰alk1 小时前
Vue 中 computed 和 watch 的深度解析:别再用错了!
vue.js
奔跑的呱呱牛1 小时前
geojson-to-wkt 坐标格式转换
javascript·arcgis