Skip to content

Commit 36634f2

Browse files
committed
fix: 修复后端返回路由页面无法正常显示
1 parent b6ff0d1 commit 36634f2

14 files changed

Lines changed: 139 additions & 411 deletions

File tree

apps/core/src/api/modules/app.fake.ts

Lines changed: 6 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export default defineFakeRoute([
2323
component: 'Layout',
2424
name: 'multilevelMenuExample',
2525
meta: {
26-
title: 'route.multimenu.root',
26+
title: '多级导航',
2727
icon: 'heroicons-solid:menu-alt-3',
2828
},
2929
children: [
@@ -33,14 +33,14 @@ export default defineFakeRoute([
3333
name: 'multilevelMenuExample1',
3434
component: 'multilevel_menu_example/page.vue',
3535
meta: {
36-
title: 'route.multimenu.page',
36+
title: '导航1',
3737
},
3838
},
3939
{
4040
path: 'level2',
4141
name: 'multilevelMenuExample2',
4242
meta: {
43-
title: 'route.multimenu.level2.root',
43+
title: '导航2',
4444
},
4545
children: [
4646
// 次导航(三级路由)
@@ -49,14 +49,14 @@ export default defineFakeRoute([
4949
name: 'multilevelMenuExample2-1',
5050
component: 'multilevel_menu_example/level2/page.vue',
5151
meta: {
52-
title: 'route.multimenu.level2.page',
52+
title: '导航2-1',
5353
},
5454
},
5555
{
5656
path: 'level3',
5757
name: 'multilevelMenuExample2-2',
5858
meta: {
59-
title: 'route.multimenu.level2.level3.root',
59+
title: '导航2-2',
6060
},
6161
children: [
6262
// 次导航(四级路由)
@@ -65,172 +65,13 @@ export default defineFakeRoute([
6565
name: 'multilevelMenuExample2-2-1',
6666
component: 'multilevel_menu_example/level2/level3/page1.vue',
6767
meta: {
68-
title: 'route.multimenu.level2.level3.page1',
68+
title: '导航2-2-1',
6969
},
7070
},
7171
{
7272
path: 'page2',
7373
name: 'multilevelMenuExample2-2-2',
7474
component: 'multilevel_menu_example/level2/level3/page2.vue',
75-
meta: {
76-
title: 'route.multimenu.level2.level3.page2',
77-
},
78-
},
79-
],
80-
},
81-
],
82-
},
83-
],
84-
},
85-
{
86-
path: '/permission_example',
87-
component: 'Layout',
88-
name: 'permissionExample',
89-
meta: {
90-
title: 'route.permission',
91-
icon: 'ri:shield-keyhole-line',
92-
},
93-
children: [
94-
{
95-
path: 'index',
96-
name: 'permissionExampleIndex',
97-
component: 'permission_example/index.vue',
98-
meta: {
99-
title: 'route.permission',
100-
menu: false,
101-
breadcrumb: false,
102-
activeMenu: '/permission_example',
103-
},
104-
},
105-
{
106-
path: 'test',
107-
name: 'permissionExampleTest',
108-
component: 'permission_example/test.vue',
109-
meta: {
110-
title: '测试页面',
111-
auth: ['permission.browse'],
112-
menu: false,
113-
breadcrumb: false,
114-
activeMenu: '/permission_example',
115-
},
116-
},
117-
],
118-
},
119-
],
120-
},
121-
{
122-
meta: {
123-
title: '页面',
124-
icon: 'ri:pages-line',
125-
auth: 'permission.browse',
126-
},
127-
children: [
128-
{
129-
path: '/pages_example/general',
130-
component: 'Layout',
131-
name: 'pagesExampleGeneral',
132-
meta: {
133-
title: '通用',
134-
icon: 'ri:function-line',
135-
},
136-
children: [
137-
{
138-
path: 'manager',
139-
name: 'pagesExampleGeneralManager',
140-
meta: {
141-
title: '管理员管理',
142-
},
143-
children: [
144-
{
145-
path: '',
146-
name: 'pagesExampleGeneralManagerList',
147-
component: 'pages_example/manager/list.vue',
148-
meta: {
149-
title: '管理员列表',
150-
menu: false,
151-
breadcrumb: false,
152-
},
153-
},
154-
{
155-
path: 'detail',
156-
name: 'pagesExampleGeneralManagerCreate',
157-
component: 'pages_example/manager/detail.vue',
158-
meta: {
159-
title: '新增管理员',
160-
menu: false,
161-
activeMenu: '/pages_example/general/manager',
162-
},
163-
},
164-
{
165-
path: 'detail/:id',
166-
name: 'pagesExampleGeneralManagerEdit',
167-
component: 'pages_example/manager/detail.vue',
168-
meta: {
169-
title: '编辑管理员',
170-
menu: false,
171-
activeMenu: '/pages_example/general/manager',
172-
},
173-
},
174-
],
175-
},
176-
],
177-
},
178-
],
179-
},
180-
],
181-
}
182-
},
183-
},
184-
{
185-
url: '/fake/app/menu/list',
186-
method: 'get',
187-
response: () => {
188-
return {
189-
error: '',
190-
status: 1,
191-
data: [
192-
{
193-
meta: {
194-
title: '演示',
195-
icon: 'uim:box',
196-
},
197-
children: [
198-
{
199-
meta: {
200-
title: '多级导航',
201-
icon: 'heroicons-solid:menu-alt-3',
202-
},
203-
children: [
204-
{
205-
path: '/multilevel_menu_example/page',
206-
meta: {
207-
title: '导航1',
208-
},
209-
},
210-
{
211-
meta: {
212-
title: '导航2',
213-
},
214-
children: [
215-
{
216-
path: '/multilevel_menu_example/level2/page',
217-
meta: {
218-
title: '导航2-1',
219-
},
220-
},
221-
{
222-
meta: {
223-
title: '导航2-2',
224-
},
225-
children: [
226-
{
227-
path: '/multilevel_menu_example/level2/level3/page1',
228-
meta: {
229-
title: '导航2-2-1',
230-
},
231-
},
232-
{
233-
path: '/multilevel_menu_example/level2/level3/page2',
23475
meta: {
23576
title: '导航2-2-2',
23677
},
@@ -241,13 +82,6 @@ export default defineFakeRoute([
24182
},
24283
],
24384
},
244-
{
245-
path: '/permission_example',
246-
meta: {
247-
title: '权限验证',
248-
icon: 'ri:shield-keyhole-line',
249-
},
250-
},
25185
],
25286
},
25387
],
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import type { RouteRecordRaw } from 'vue-router'
2+
3+
function Layout() {
4+
return import('@/layouts/index.vue')
5+
}
6+
7+
const routes: RouteRecordRaw = {
8+
path: '/multilevel_menu_example',
9+
component: Layout,
10+
name: 'multilevelMenuExample',
11+
meta: {
12+
title: '多级导航',
13+
icon: 'i-heroicons-solid:menu-alt-3',
14+
},
15+
children: [
16+
{
17+
path: 'page',
18+
name: 'multilevelMenuExample1',
19+
component: () => import('@/views/multilevel_menu_example/page.vue'),
20+
meta: {
21+
title: '导航1',
22+
},
23+
},
24+
{
25+
path: 'level2',
26+
name: 'multilevelMenuExample2',
27+
meta: {
28+
title: '导航2',
29+
},
30+
children: [
31+
{
32+
path: 'page',
33+
name: 'multilevelMenuExample2-1',
34+
component: () => import('@/views/multilevel_menu_example/level2/page.vue'),
35+
meta: {
36+
title: '导航2-1',
37+
},
38+
},
39+
{
40+
path: 'level3',
41+
name: 'multilevelMenuExample2-2',
42+
meta: {
43+
title: '导航2-2',
44+
},
45+
children: [
46+
{
47+
path: 'page1',
48+
name: 'multilevelMenuExample2-2-1',
49+
component: () => import('@/views/multilevel_menu_example/level2/level3/page1.vue'),
50+
meta: {
51+
title: '导航2-2-1',
52+
},
53+
},
54+
{
55+
path: 'page2',
56+
name: 'multilevelMenuExample2-2-2',
57+
component: () => import('@/views/multilevel_menu_example/level2/level3/page2.vue'),
58+
meta: {
59+
title: '导航2-2-2',
60+
},
61+
},
62+
],
63+
},
64+
],
65+
},
66+
],
67+
}
68+
69+
export default routes

apps/core/src/router/routes.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { RouteRecordMainRaw } from '@fantastic-admin/types'
22
import type { RouteRecordRaw } from 'vue-router'
33
import pinia from '@/store'
4+
import MultilevelMenuExample from './modules/multilevel.menu.example'
45

56
// 固定路由(默认路由)
67
const constantRoutes: RouteRecordRaw[] = [
@@ -54,7 +55,17 @@ const systemRoutes: RouteRecordRaw[] = [
5455
]
5556

5657
// 动态路由(异步路由、导航菜单路由)
57-
const asyncRoutes: RouteRecordMainRaw[] = []
58+
const asyncRoutes: RouteRecordMainRaw[] = [
59+
{
60+
meta: {
61+
title: '演示',
62+
icon: 'i-ri:function-ai-line',
63+
},
64+
children: [
65+
MultilevelMenuExample,
66+
],
67+
},
68+
]
5869

5970
export {
6071
asyncRoutes,

apps/core/src/store/modules/app/route.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,15 @@ export const useAppRouteStore = defineStore(
9797
isGenerate.value = true
9898
}
9999
// 格式化后端路由数据
100-
function formatBackRoutes(routes: any, views = import.meta.glob('../../views/**/*.vue')): RouteRecordMainRaw[] {
100+
function formatBackRoutes(routes: any, views = import.meta.glob('@/views/**/*.vue')): RouteRecordMainRaw[] {
101101
return routes.map((route: any) => {
102102
switch (route.component) {
103103
case 'Layout':
104104
route.component = () => import('@/layouts/index.vue')
105105
break
106106
default:
107107
if (route.component) {
108-
route.component = views[`../../views/${route.component}`]
108+
route.component = views[`/src/views/${route.component}`]
109109
}
110110
else {
111111
delete route.component
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script setup lang="ts">
2+
</script>
3+
4+
<template>
5+
<div>
6+
<FaPageMain>
7+
导航2-2-1
8+
</FaPageMain>
9+
</div>
10+
</template>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script setup lang="ts">
2+
</script>
3+
4+
<template>
5+
<div>
6+
<FaPageMain>
7+
导航2-2-2
8+
</FaPageMain>
9+
</div>
10+
</template>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script setup lang="ts">
2+
</script>
3+
4+
<template>
5+
<div>
6+
<FaPageMain>
7+
导航2-1
8+
</FaPageMain>
9+
</div>
10+
</template>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script setup lang="ts">
2+
</script>
3+
4+
<template>
5+
<div>
6+
<FaPageMain>
7+
导航1
8+
</FaPageMain>
9+
</div>
10+
</template>

0 commit comments

Comments
 (0)