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 @@