From fc0d4346c27174acc3aa237a96b9ec5db69aa100 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 07 四月 2025 13:37:38 +0800 Subject: [PATCH] 1 --- src/App.vue | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/App.vue b/src/App.vue index 1f9c81a..93a9652 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,8 +1,5 @@ <template> - <div - id="app" - - > + <div id="app"> <router-view /> </div> </template> @@ -17,8 +14,54 @@ return {}; }, created() { + }, - beforeDestroy() { }, + mounted() { + window.addEventListener('beforeunload', e => { + sessionStorage.setItem('beforeunload', 1); + }); + + // 鐩戝惉椤甸潰鍒锋柊 + if (sessionStorage.getItem('beforeunload') == 1) { + let name = sessionStorage.getItem("routerName"); + + if (name) { + this.$nextTick(function () { + this.$router.push({ path: name }); //濡傛灉sessionStorage瀛樺湪璺敱锛屽幓缂撳瓨鐨勮矾鐢� + }) + } else { + this.$nextTick(function () { + this.$router.push({ path: '/' }); //涓嶅瓨鍦ㄥ瓨鍌紝鍘讳富椤� + }) + } + } + + this.addListenerExpire(); + }, + methods: { + addListenerExpire() { + var timeViewer = setInterval((res) => { + if (this.$store.state.listenTime && window.localStorage.getItem("LFToken")) { + var result = JSON.parse(window.localStorage.getItem("LFToken")) + var time = this.$store.state.listenTime + (parseInt(result.autoLogOut) * 60 * 1000); + var timeire = new Date().getTime(); + var token_time = result.expire; + + if (timeire >= token_time) { + router.push('/login') + localStorage.removeItem("LFToken"); + clearInterval(timeViewer) + } + if (timeire >= time) { + router.push('/login') + localStorage.removeItem("LFToken"); + clearInterval(timeViewer) + } + } + }, 5000) + } + }, + }; </script> <style lang="less" scoped> @@ -36,9 +79,5 @@ scrollbar-face-color: #dfebff; /*婊氬姩鏉℃暣浣撻鑹�*/ scrollbar-track-color: #536c97; - } - - - </style> -- Gitblit v1.9.3