From 235e221606bbc01ab83283b65d3097301aa58605 Mon Sep 17 00:00:00 2001 From: shijing Date: Thu, 18 Sep 2025 13:54:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=85=89=E8=8A=AF=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/bigScreen/index_gx.vue | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/views/bigScreen/index_gx.vue b/src/views/bigScreen/index_gx.vue index 61836d5f..3dee7507 100644 --- a/src/views/bigScreen/index_gx.vue +++ b/src/views/bigScreen/index_gx.vue @@ -506,6 +506,7 @@ export default { configData5:{}, scrollNum:0, scrollInterval:null, + reloadInterval:null, //近七天日数组 dayArr:[], visibals0: false, @@ -525,6 +526,7 @@ export default { lineWidth:0, pieHeight:0, lineHeight:0, + timeoutDuration : 86400000, setIntervals:null, }; }, @@ -544,6 +546,38 @@ export default { this.timerTime = setInterval(() => { this.showTime(); }, 1000); + + + let lastActiveTime = new Date().getTime(); + let timer; + // 重置最后活动时间并重启计时器 + function resetActiveTime() { + console.log('用户活动'); + lastActiveTime = new Date().getTime(); + clearTimeout(timer); + timer = setTimeout(checkIdleTime, that.timeoutDuration); + } + // 检查是否超时 + function checkIdleTime() { + let currentTime = new Date().getTime(); + if (currentTime - lastActiveTime > that.timeoutDuration) { + refreshPage(); + } else { + resetActiveTime(); + } + } + // 刷新页面函数 + function refreshPage() { + window.location.reload(true); + } + // 监听所有可能触发用户活动的行为并重置最后活动时间 + document.addEventListener('click', resetActiveTime); + document.addEventListener('keypress', resetActiveTime); + document.addEventListener('scroll', resetActiveTime); + document.addEventListener('mousemove', resetActiveTime); + that.reloadInterval = setInterval(() => { + window.location.reload(true); + },86400000) }, methods: { //初始化视图 @@ -1026,9 +1060,11 @@ export default { clearInterval(that.timerTime); clearInterval(that.scrollInterval); clearInterval(that.setIntervals); + clearInterval(that.reloadInterval); that.timerTime = null; that.scrollInterval = null; that.setIntervals = null; + that.reloadInterval = null; }, beforeDestoryed() { let that = this; @@ -1036,9 +1072,11 @@ export default { clearInterval(that.timerTime); clearInterval(that.scrollInterval); clearInterval(that.setIntervals); + clearInterval(that.reloadInterval); that.timerTime = null; that.scrollInterval = null; that.setIntervals = null; + that.reloadInterval = null; }, };