Files
hht-lixun/src/config/isOperate.js

115 lines
2.8 KiB
JavaScript
Raw Normal View History

2023-05-04 14:12:52 +08:00
// 用户长时间未操作 退出登录
import store from '../vuex/store'
import router from '@/router'
var timer = null
clearInterval(timer)
export function isOperateFun () {
var lastTime = new Date().getTime() // 最后一次点击时间
var currentTime = new Date().getTime() // 当前时间
var timeOut = 10 * 60 * 1000 // 允许最长未操作时间
// var i = 1 // 辅助作用
function handleReset () { // 重新赋值最后一次点击时间,清除定时器,重新开始定时器
// console.log('又点击了!!!!!!')
// i = 1
lastTime = new Date().getTime()
if (timer) {
clearInterval(timer)
timer = null
}
if (!timer) {
// console.log('真好!重新开始')
handleInterval()
}
}
// document.onclick = () => { // 单击事件
// handleReset()
// }
// document.ondblclick = () => { // 双击事件
// handleReset()
// }
// document.onmousedown = () => { // 按下鼠标键时触发
// handleReset()
// }
// document.onmouseup = () => { // 释放按下的鼠标键时触发
// handleReset()
// }
// document.onmousemove = () => { // 鼠标移动事件
// handleReset()
// }
// document.onmouseover = () => { // 移入事件
// handleReset()
// }
// document.onmouseout = () => { // 移出事件
// handleReset()
// }
// document.onmouseenter = () => { // 移入事件
// handleReset()
// }
// document.onmouseleave = () => { // 移出事件
// handleReset()
// }
// document.touchstart = () => {
// alert('touchstart')
// handleReset()
// }
// document.touchend = () => {
// alert('touchend')
// handleReset()
// }
// document.touchmove = () => {
// alert('touchend')
// handleReset()
// }
window.onload = function startup () {
document.addEventListener('touchstart', handleReset, false)
document.addEventListener('touchend', handleReset, false)
document.addEventListener('touchmove', handleReset, false)
}
function handleInterval () { // 定时器
timer = setInterval(() => {
currentTime = new Date().getTime() // 当前时间
// console.log(`${i++}-currentTime`, currentTime)
// console.log('最后一次点击时间', lastTime)
if (currentTime - lastTime > timeOut) {
// console.log('长时间未操作')
clearInterval(timer) // 清除定时器
store.dispatch('setSignOut').then(() => { // 执行退出并跳转到首页
const path = window.location.href.split('#')[1]
if (path !== '/login') { // 判断当前路由不是首页 则跳转至首页
router.push('/login')
}
// window.AndroidWebView.loginOut() // 执行安卓退出方法
})
}
}, 1000)
}
handleInterval() // 一开始程序 默认执行定制器
}