|
|
@@ -0,0 +1,43 @@
|
|
|
+// 引入路由和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
|
|
|
+ ) {
|
|
|
+ //判断是否超时
|
|
|
+ //清除storage的数据(登陆信息和token)
|
|
|
+ storage.clear()
|
|
|
+ // 跳到登陆页
|
|
|
+ router.push({ path: '/login' })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export default function () {
|
|
|
+ /* 定时器 间隔30秒检测是否长时间未操作页面 */
|
|
|
+ // window.setInterval(checkTimeout, 60 * 1000)
|
|
|
+ window.setInterval(checkTimeout, 1 * 1000)
|
|
|
+}
|