| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // 引入路由和storage工具函数
- import storage from '@/utils/storage'
- import router from '../router'
- import store from '@/store'
- let lastTime = new Date().getTime()
- let currentTime = new Date().getTime()
- // let timeOut = 30 * 60 * 1000 //设置超时时间: 30分钟
- window.onload = function () {
- // 鼠标点击事件
- window.document.onmousedown = function () {
- storage.setItem('lastTime', new Date().getTime())
- }
- // 鼠标移动事件
- window.document.onmousemove = function () {
- storage.setItem('lastTime', new Date().getTime())
- }
- // 键盘敲击事件
- window.document.onkeydown = function () {
- storage.setItem('lastTime', new Date().getTime())
- }
- }
- function checkTimeout() {
- currentTime = new Date().getTime() //更新当前时间
- lastTime = storage.getItem('lastTime')
- if (
- store.getters?.setting?.timeout?.time &&
- currentTime - lastTime > store.getters?.setting?.timeout?.time * 60 * 1000
- ) {
- //判断是否超时
- //清除storage的数据(登陆信息和token)
- storage.clear()
- // 跳到登陆页
- router.push({ path: '/login' })
- }
- }
- export default function () {
- /* 定时器 间隔30秒检测是否长时间未操作页面 */
- // window.setInterval(checkTimeout, 60 * 1000)
- window.setInterval(checkTimeout, 1 * 1000)
- }
|