From 0d85fd74e0e853ca7113a946ac413b44d5d0d4a1 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 19 Feb 2024 10:33:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0404=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 46 +++++++++++++++------ src/views/404.vue | 90 +++++++++++++++++++++++++++++++++++++++++ src/views/LoginPage.vue | 2 +- 3 files changed, 125 insertions(+), 13 deletions(-) create mode 100644 src/views/404.vue diff --git a/src/router/index.ts b/src/router/index.ts index 5c5646c6..2c6d0eb3 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,7 +1,7 @@ import { createRouter, createWebHistory, RouteRecordRaw, createWebHashHistory } from 'vue-router' import { defineAsyncComponent } from 'vue' -import {getBrowserInfo,murmur} from '@/tool/util' -import { getCookie,setCookie } from "@/tool/cookie"; +import { getBrowserInfo, murmur } from '@/tool/util' +import { getCookie, setCookie } from "@/tool/cookie"; const _import = (path: string) => defineAsyncComponent(() => import(`../views/${path}.vue`)); const routes: Array = [ @@ -36,7 +36,7 @@ const routes: Array = [ name: 'history', component: _import('HistoryPage') }, - // { + // {//老版本history // path: '/oldHistory', // name: 'oldHistory', // component: _import('OldHistoryPage') @@ -56,6 +56,11 @@ const routes: Array = [ name: 'setIdentification', component: _import('setIdentification') }, + { + path: '/404', + name: '404', + component: _import('404') + }, ] const router = createRouter({ @@ -64,28 +69,45 @@ const router = createRouter({ routes }) router.beforeEach((to, from, next) => { -// 系统维护 + // 系统维护 // const toName = to.name === 'upgrade'; // if (toName) { // next(); // } else { // next({ name: 'upgrade' }); // } - + // 检查路由是否存在 // 机房用户 - let murmurStr:any = localStorage.getItem('murmurStr') - let getIsMurmur:any = getCookie("isMurmur") + let murmurStr: any = localStorage.getItem('murmurStr') + let getIsMurmur: any = getCookie("isMurmur") let token = getCookie("token"); let isMurmur = JSON.parse(getIsMurmur) - if(isMurmur&& murmurStr && token){ - const toName = to.name === 'login'; - if (toName) { - next({ name: 'home' }); + + const routeExists = router.getRoutes().some(({ name }) =>{ + if(name){ + return name === to.name + }else{ + return false + } + }); + if (routeExists) { + if (isMurmur && murmurStr && token) { + const toName = to.name === 'login'; + if (toName) { + next({ name: 'home' }); + } else { + next(); + } } else { + // 如果页面存在,正常跳转 next(); } - }else{ next(); + } else { + // 如果页面不存在,可以跳转到404页面或者其他页面 + next('/404'); } + + }); export default router diff --git a/src/views/404.vue b/src/views/404.vue new file mode 100644 index 00000000..b6b61de8 --- /dev/null +++ b/src/views/404.vue @@ -0,0 +1,90 @@ + + + + diff --git a/src/views/LoginPage.vue b/src/views/LoginPage.vue index 1071310d..b0e959f4 100644 --- a/src/views/LoginPage.vue +++ b/src/views/LoginPage.vue @@ -219,7 +219,7 @@