diff --git a/src/App.vue b/src/App.vue index b276343cfeffeb8bd0a45e2ffa7829a34e3f3d65..0a3de3e61ff8319ecafade98fbd7f1341f64d05f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -10,8 +10,27 @@ import { ThemeEnum } from "@/enums/ThemeEnum"; const appStore = useAppStore(); const settingsStore = useSettingsStore(); import "@/styles/app.scss"; +import router from "./router"; const locale = computed(() => appStore.locale); - + +onMounted(() => { + window.addEventListener("beforeunload", (e) => { + sessionStorage.setItem("beforeunload", "1"); + }); + // 监听页面刷新 + const beforeUnload = sessionStorage.getItem("beforeunload"); + if (beforeUnload === "1") { + const name = sessionStorage.getItem("routerName"); + if (name) { + router.push( name ); // 如果sessionStorage存在路由,去缓存的路由 + } else { + router.push( "/" ); // 不存在存储,去主页 + } + sessionStorage.removeItem("beforeunload"); // 清除标记 + } + +}); + diff --git a/src/router/index.ts b/src/router/index.ts index d8f24bb828be89ee419391e855461afecdc26e24..b538359545ad9f2e64e81746d069a87aea82244f 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -60,4 +60,9 @@ export function resetRouter() { window.open(`${window.origin}/witchaind/#/login`, "_self"); } +router.beforeEach((to, from, next) => { + sessionStorage.setItem('routerName', to.fullPath) //存储当前路由 + next() +}) + export default router;