Skip to content

Commit 8eae3c1

Browse files
author
sunshine824
committed
添加404兜底路由
1 parent ed7bbb1 commit 8eae3c1

File tree

4 files changed

+136
-61
lines changed

4 files changed

+136
-61
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"crypto-js": "^4.0.0",
1313
"qs": "^6.10.1",
1414
"spark-md5": "^3.0.1",
15-
"vue": "^3.0.5",
15+
"vue": "^3.2.30",
1616
"vue-router": "^4.0.9",
1717
"vuex": "^4.0.1"
1818
},

src/router/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
NavigationGuardNext,
88
Router,
99
} from 'vue-router'
10-
import { mainRoutes, baseRoutes } from './router.config'
10+
import { mainRoutes, baseRoutes, Routes } from './router.config'
1111
import { getToken } from '@/utils/token'
1212
import { getPermissionsList } from '@/api/user'
1313
import { RouteLayout, BlankLayout } from '@/layouts'
@@ -78,8 +78,8 @@ router.beforeEach(
7878
menu.menuList || [],
7979
[],
8080
)
81-
console.log(menuRoutes)
82-
mainRoutes.children?.unshift(...menuRoutes)
81+
mainRoutes.children = []
82+
mainRoutes.children?.unshift(...menuRoutes, ...Routes)
8383
// 动态添加路由
8484
router.addRoute(mainRoutes)
8585
// 注:这步很关键,不然导航获取不到路由

src/router/router.config.ts

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,43 @@ import { RouteRecordRaw } from 'vue-router'
22
import { LevelBasicLayout, RouteLayout } from '@/layouts'
33

44
// 导航路由
5-
const Routes: Array<RouteRecordRaw> = []
5+
const Routes: Array<RouteRecordRaw> = [
6+
{
7+
path: '/403',
8+
name: '403',
9+
component: () =>
10+
import(/* webpackChunkName: "403" */ '@/views/exception/403'),
11+
meta: { title: '403', permission: ['exception'], hidden: true },
12+
},
13+
{
14+
path: '/404',
15+
name: '404',
16+
component: () =>
17+
import(/* webpackChunkName: "404" */ '@/views/exception/404'),
18+
meta: { title: '404', permission: ['exception'], hidden: true },
19+
},
20+
{
21+
path: '/500',
22+
name: '500',
23+
component: () =>
24+
import(/* webpackChunkName: "500" */ '@/views/exception/500'),
25+
meta: { title: '500', permission: ['exception'], hidden: true },
26+
},
27+
{
28+
path: '/:pathMatch(.*)*',
29+
name: 'error',
30+
component: () =>
31+
import(/* webpackChunkName: "500" */ '@/views/exception/404'),
32+
meta: { title: '404', hidden: true },
33+
},
34+
]
635

736
// 主路由
837
const mainRoutes: RouteRecordRaw = {
938
path: '/',
1039
redirect: '/login',
1140
component: LevelBasicLayout,
12-
children: [
13-
// ...Routes,
14-
{
15-
path: '/403',
16-
name: '403',
17-
component: () =>
18-
import(/* webpackChunkName: "403" */ '@/views/exception/403'),
19-
meta: { title: '403', permission: ['exception'], hidden: true },
20-
},
21-
{
22-
path: '/404',
23-
name: '404',
24-
component: () =>
25-
import(/* webpackChunkName: "404" */ '@/views/exception/404'),
26-
meta: { title: '404', permission: ['exception'], hidden: true },
27-
},
28-
{
29-
path: '/500',
30-
name: '500',
31-
component: () =>
32-
import(/* webpackChunkName: "500" */ '@/views/exception/500'),
33-
meta: { title: '500', permission: ['exception'], hidden: true },
34-
},
35-
// {
36-
// path: '/:pathMatch(.*)*',
37-
// redirect: { name: '404' },
38-
// },
39-
],
41+
children: [],
4042
}
4143

4244
// 基础路由
@@ -49,4 +51,4 @@ const baseRoutes: Array<RouteRecordRaw> = [
4951
},
5052
]
5153

52-
export { mainRoutes, baseRoutes }
54+
export { mainRoutes, baseRoutes, Routes }

yarn.lock

Lines changed: 100 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,11 @@
222222
resolved "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.6.tgz#d85cc68ca3cac84eae384c06f032921f5227f4b2"
223223
integrity sha1-2FzGjKPKyE6uOEwG8DKSH1In9LI=
224224

225+
"@babel/parser@^7.16.4":
226+
version "7.17.3"
227+
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0"
228+
integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==
229+
225230
"@babel/plugin-syntax-import-meta@^7.10.4":
226231
version "7.10.4"
227232
resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-import-meta/download/@babel/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
@@ -450,6 +455,16 @@
450455
estree-walker "^2.0.1"
451456
source-map "^0.6.1"
452457

458+
"@vue/compiler-core@3.2.31":
459+
version "3.2.31"
460+
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.31.tgz#d38f06c2cf845742403b523ab4596a3fda152e89"
461+
integrity sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==
462+
dependencies:
463+
"@babel/parser" "^7.16.4"
464+
"@vue/shared" "3.2.31"
465+
estree-walker "^2.0.2"
466+
source-map "^0.6.1"
467+
453468
"@vue/compiler-dom@3.1.1":
454469
version "3.1.1"
455470
resolved "https://registry.nlark.com/@vue/compiler-dom/download/@vue/compiler-dom-3.1.1.tgz#ef60d856ac2ede5b2ad5c72a7a68122895e3d652"
@@ -458,6 +473,30 @@
458473
"@vue/compiler-core" "3.1.1"
459474
"@vue/shared" "3.1.1"
460475

476+
"@vue/compiler-dom@3.2.31":
477+
version "3.2.31"
478+
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz#b1b7dfad55c96c8cc2b919cd7eb5fd7e4ddbf00e"
479+
integrity sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==
480+
dependencies:
481+
"@vue/compiler-core" "3.2.31"
482+
"@vue/shared" "3.2.31"
483+
484+
"@vue/compiler-sfc@3.2.31":
485+
version "3.2.31"
486+
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz#d02b29c3fe34d599a52c5ae1c6937b4d69f11c2f"
487+
integrity sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==
488+
dependencies:
489+
"@babel/parser" "^7.16.4"
490+
"@vue/compiler-core" "3.2.31"
491+
"@vue/compiler-dom" "3.2.31"
492+
"@vue/compiler-ssr" "3.2.31"
493+
"@vue/reactivity-transform" "3.2.31"
494+
"@vue/shared" "3.2.31"
495+
estree-walker "^2.0.2"
496+
magic-string "^0.25.7"
497+
postcss "^8.1.10"
498+
source-map "^0.6.1"
499+
461500
"@vue/compiler-sfc@^3.0.5":
462501
version "3.1.1"
463502
resolved "https://registry.nlark.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.1.1.tgz#d4e4507c013d0b219f0b106b317ec5bb1cde3398"
@@ -488,40 +527,72 @@
488527
"@vue/compiler-dom" "3.1.1"
489528
"@vue/shared" "3.1.1"
490529

530+
"@vue/compiler-ssr@3.2.31":
531+
version "3.2.31"
532+
resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz#4fa00f486c9c4580b40a4177871ebbd650ecb99c"
533+
integrity sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==
534+
dependencies:
535+
"@vue/compiler-dom" "3.2.31"
536+
"@vue/shared" "3.2.31"
537+
491538
"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.0.0-beta.14":
492539
version "6.0.0-beta.14"
493540
resolved "https://registry.nlark.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.14.tgz#6ed2d6f8d66a9256c9ad04bfff08309ba87b9723"
494541
integrity sha1-btLW+NZqklbJrQS//wgwm6h7lyM=
495542

496-
"@vue/reactivity@3.1.1":
497-
version "3.1.1"
498-
resolved "https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.1.1.tgz#9c02fd146a6c3b03e7d658b7cf76f4b69b0f98c8"
499-
integrity sha1-nAL9FGpsOwPn1li3z3b0tpsPmMg=
543+
"@vue/reactivity-transform@3.2.31":
544+
version "3.2.31"
545+
resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz#0f5b25c24e70edab2b613d5305c465b50fc00911"
546+
integrity sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==
500547
dependencies:
501-
"@vue/shared" "3.1.1"
548+
"@babel/parser" "^7.16.4"
549+
"@vue/compiler-core" "3.2.31"
550+
"@vue/shared" "3.2.31"
551+
estree-walker "^2.0.2"
552+
magic-string "^0.25.7"
502553

503-
"@vue/runtime-core@3.1.1":
504-
version "3.1.1"
505-
resolved "https://registry.nlark.com/@vue/runtime-core/download/@vue/runtime-core-3.1.1.tgz#542110c09a643d7d80646a2f071aff6b324c4158"
506-
integrity sha1-VCEQwJpkPX2AZGovBxr/azJMQVg=
554+
"@vue/reactivity@3.2.31":
555+
version "3.2.31"
556+
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.31.tgz#fc90aa2cdf695418b79e534783aca90d63a46bbd"
557+
integrity sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==
507558
dependencies:
508-
"@vue/reactivity" "3.1.1"
509-
"@vue/shared" "3.1.1"
559+
"@vue/shared" "3.2.31"
510560

511-
"@vue/runtime-dom@3.1.1":
512-
version "3.1.1"
513-
resolved "https://registry.nlark.com/@vue/runtime-dom/download/@vue/runtime-dom-3.1.1.tgz#5539bbce132d29f6445b4964cb7b4164a89a5ce6"
514-
integrity sha1-VTm7zhMtKfZEW0lky3tBZKiaXOY=
561+
"@vue/runtime-core@3.2.31":
562+
version "3.2.31"
563+
resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.31.tgz#9d284c382f5f981b7a7b5971052a1dc4ef39ac7a"
564+
integrity sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==
515565
dependencies:
516-
"@vue/runtime-core" "3.1.1"
517-
"@vue/shared" "3.1.1"
566+
"@vue/reactivity" "3.2.31"
567+
"@vue/shared" "3.2.31"
568+
569+
"@vue/runtime-dom@3.2.31":
570+
version "3.2.31"
571+
resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz#79ce01817cb3caf2c9d923f669b738d2d7953eff"
572+
integrity sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==
573+
dependencies:
574+
"@vue/runtime-core" "3.2.31"
575+
"@vue/shared" "3.2.31"
518576
csstype "^2.6.8"
519577

578+
"@vue/server-renderer@3.2.31":
579+
version "3.2.31"
580+
resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.31.tgz#201e9d6ce735847d5989403af81ef80960da7141"
581+
integrity sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==
582+
dependencies:
583+
"@vue/compiler-ssr" "3.2.31"
584+
"@vue/shared" "3.2.31"
585+
520586
"@vue/shared@3.1.1":
521587
version "3.1.1"
522588
resolved "https://registry.nlark.com/@vue/shared/download/@vue/shared-3.1.1.tgz#2287cfc3dc20e5b20aeb65c2c3a56533bdca801c"
523589
integrity sha1-IofPw9wg5bIK62XCw6VlM73KgBw=
524590

591+
"@vue/shared@3.2.31":
592+
version "3.2.31"
593+
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.31.tgz#c90de7126d833dcd3a4c7534d534be2fb41faa4e"
594+
integrity sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==
595+
525596
acorn-jsx@^5.2.0, acorn-jsx@^5.3.1:
526597
version "5.3.1"
527598
resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
@@ -1168,10 +1239,10 @@ estraverse@^5.1.0, estraverse@^5.2.0:
11681239
resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642946176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
11691240
integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA=
11701241

1171-
estree-walker@^2.0.1:
1242+
estree-walker@^2.0.1, estree-walker@^2.0.2:
11721243
version "2.0.2"
1173-
resolved "https://registry.nlark.com/estree-walker/download/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
1174-
integrity sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=
1244+
resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
1245+
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
11751246

11761247
esutils@^2.0.2:
11771248
version "2.0.3"
@@ -2442,14 +2513,16 @@ vue-types@^3.0.0:
24422513
dependencies:
24432514
is-plain-object "3.0.1"
24442515

2445-
vue@^3.0.5:
2446-
version "3.1.1"
2447-
resolved "https://registry.nlark.com/vue/download/vue-3.1.1.tgz#9ad655758a0fa6c0dee5b3d2431d3912a9b381aa"
2448-
integrity sha1-mtZVdYoPpsDe5bPSQx05Eqmzgao=
2516+
vue@^3.2.30:
2517+
version "3.2.31"
2518+
resolved "https://registry.npmmirror.com/vue/-/vue-3.2.31.tgz#e0c49924335e9f188352816788a4cca10f817ce6"
2519+
integrity sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==
24492520
dependencies:
2450-
"@vue/compiler-dom" "3.1.1"
2451-
"@vue/runtime-dom" "3.1.1"
2452-
"@vue/shared" "3.1.1"
2521+
"@vue/compiler-dom" "3.2.31"
2522+
"@vue/compiler-sfc" "3.2.31"
2523+
"@vue/runtime-dom" "3.2.31"
2524+
"@vue/server-renderer" "3.2.31"
2525+
"@vue/shared" "3.2.31"
24532526

24542527
vuex@^4.0.1:
24552528
version "4.0.2"

0 commit comments

Comments
 (0)