// 引入路由和storage工具函数
import storage from '@/utils/localStorage'
import router from '@/router/index'
import store from '@/store/index'

let lastTime = new Date().getTime()
let currentTime = new Date().getTime()
const timeOut = 3 * 60 * 1000 // 设置超时时间: 3分钟
// const timeOut = 10000

window.onload = function() {
  window.document.onmousedown = function() {
    storage.setItem('lastTime', new Date().getTime())
  }
}

function checkTimeout() {
  console.log('checking .....')
  currentTime = new Date().getTime() // 更新当前时间
  lastTime = storage.getItem('lastTime')

  if (currentTime - lastTime > timeOut) { // 判断是否超时
    // 清除storage的数据(登陆信息和token)
    console.log('超时！')
    // 跳到登陆页
    if (window.location.href.includes('login')) return // 当前已经是登陆页时不做跳转
    store.commit('user/RESET_STATE')
    store.commit('permission/RESET_STATE')
    router.push('/login')
    storage.clear()
  }
}

export default function() {
  /* 定时器 间隔30秒检测是否长时间未操作页面 */
  return window.setInterval(checkTimeout, 60000)
  // return window.setInterval(checkTimeout, 10000)
}
