当前位置: 首页 > news >正文

vue路由路径加上自动退出登录

vue路由路径加上自动退出登录,实现系统页面在一定时长内停留不操作后退出到登录页(即访问过时退出)。

具体实现逻辑文件autoLoginOut.js:

import store from '@/store'
import { debounce, isNil } from 'lodash'// 不会自动退出登录的路径白名单
const whiteList = ['bigScreen/screenmanagement', // 大屏管理中心'messagePlatform', // 对外的短信平台'warningSystem', // 流溪河灌区的预警系统'bigScreen', // 大屏相关'system', // 运维中心'login','norm/video','stationOverview','threeFloorAUX','waterDisastersScreen'
]
let timer = null
/*** @description: 判断路由路径是否需要加上自动退出登录。定时器间隔是1分钟,所以inactiveTime最小值为1分钟* @param {String} routerPath 该路径用于判断是否需要加上退出登录的定时器* @param {Object} vueRouter 传入vue-router实例用于跳转页面* @param {Number} inactiveTime 设置多长时间不活跃就退出系统,单位毫秒  默认1小时* @return {*}*/
const autoLoginOut = (routerPath, vueRouter, inactiveTime = 60 * 60 * 1000) => {if (isNil(vueRouter)) return console.error('The parameter "vueRouter" is missing.')if (typeof routerPath !== 'string') return console.error('The parameter "routerPath" must be String')if (whiteList.some(item => routerPath.indexOf(item) > -1)) {timer && clearInterval(timer)timer = nullreturn}if (timer) returntimer = setInterval(() => {if (new Date().getTime() - sessionStorage.getItem('lastActiveTime') > inactiveTime) {clearInterval(timer)timer = nullstore.dispatch('user/logout', {})//调用方法清除数据vueRouter.push('/login')//跳转到登录页}}, 60 * 1000)
}window.addEventListener('click', () => {sessionStorage.setItem('lastActiveTime', new Date().getTime())
}, true)
window.addEventListener('mousewheel', debounce(() => {sessionStorage.setItem('lastActiveTime', new Date().getTime())
}, 500), true)
window.addEventListener('mousemove', debounce(() => {sessionStorage.setItem('lastActiveTime', new Date().getTime())
}, 500), true)export default autoLoginOut

logout方法:
在这里插入图片描述

调用autoLoginOut方法 :
在这里插入图片描述

http://www.dtcms.com/a/597667.html

相关文章:

  • 推图制作网站无法连接到wordpress
  • Java面试题2:Java线程池原理
  • 小企业网站源码wordpress主题放在那个文件夹
  • HarmonyOS动画性能提升:renderGroup缓存与属性动画优化
  • 玉器企业网站源码wordpress外观小工具
  • kotlin扩展函数是如何实现的
  • 农业科技工作服务站建站模板让网站不要保存密码怎么做
  • 深入学习Redis():Redis内存模型
  • 输出模式下,上下拉电阻不起作用的原因:
  • 如何让PVC制品更安全?稀土抑烟剂助力安全防护
  • Python基础教学-可迭代的(Iterable)和迭代器(iterator)的区别-由Deepseek产生
  • 摄影作品网站推荐网站全屏代码
  • 网站开发中加入cad功能一个空间能否做两个网站
  • SM2 vs RSA/ECC:双算法 SSL 证书的性能对比与优化方案
  • 使用微信小程序实现多格验证码效果
  • 用node.js可以做网站吗网站的发布与推广怎么写
  • 【JavaEE进阶】-- 加密算法
  • 58同城本地版下载优化设计高中
  • 入门|利用 Highcharts 的 ES6/ESM 模块安装方案
  • 【NGINX的学习】
  • 重庆南坪网站建设公司学校网站总务建设
  • C++ yjx
  • 网站开发原型 图站长工具星空传媒
  • 【C++进阶】C++中的继承
  • 【大模型量化】Qwen3-VL + Lora监督微调 + 4bit量化 | VLM模型
  • 哪个网站最好微信开发者文档小程序
  • 免费黄页网站互联网众筹网站怎样建设
  • Math for Grade 1 of junior high school
  • 卓手机建网站有没有专门找装修公司的网站
  • Goer-Docker系列-1-Dockerfile的构建速度优化