From e9f9b2c035f17bdae52b8a140f44e45d165dea52 Mon Sep 17 00:00:00 2001
From: Jason <5340635+wen-jason@user.noreply.gitee.com>
Date: Thu, 23 Jun 2022 11:41:08 +0800
Subject: [PATCH] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=B7=AF=E7=94=B1=E5=90=8D?=
=?UTF-8?q?=E5=AD=97=E4=BD=BF=E7=94=A8symbol=EF=BC=8C=E9=98=B2=E6=AD=A2?=
=?UTF-8?q?=E5=91=BD=E5=90=8D=E5=86=B2=E7=AA=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
admin/src/App.vue | 6 +++---
admin/src/core/lib/router.ts | 5 +++--
admin/src/permission.ts | 8 ++++++--
admin/src/router/index.ts | 8 ++++----
4 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/admin/src/App.vue b/admin/src/App.vue
index 2d983563..f4629fdd 100644
--- a/admin/src/App.vue
+++ b/admin/src/App.vue
@@ -19,7 +19,7 @@ export default defineComponent({
onMounted(async () => {
// 获取配置
const data = await store.dispatch('app/getConfig')
- console.log('data', data)
+ console.log('data', data)
// 设置网站logo
let favicon: HTMLLinkElement = document.querySelector('link[rel="icon"]')!
if (favicon) {
@@ -39,6 +39,6 @@ export default defineComponent({
diff --git a/admin/src/core/lib/router.ts b/admin/src/core/lib/router.ts
index 3f4abede..ad6508c2 100644
--- a/admin/src/core/lib/router.ts
+++ b/admin/src/core/lib/router.ts
@@ -1,5 +1,5 @@
import { RouteRecordRaw, RouterView } from "vue-router"
-
+import Layout from '@/layout/index.vue'
export enum MenuType{
Catalogue = 'M',
Menu = 'C',
@@ -12,6 +12,7 @@ const modules = import.meta.glob('/src/views/**/*.vue')
// 过滤路由所需要的数据
export function filterAsyncRoutes(routes: any[], firstRoute = true) {
+
return routes.map((route => {
const routeRecord = createRouteRecord(route, firstRoute)
if (route.children != null && route.children && route.children.length) {
@@ -39,7 +40,7 @@ export function createRouteRecord(route: any, firstRoute: boolean): RouteRecordR
}
switch (route.menuType) {
case MenuType.Catalogue:
- routeRecord.component = RouterView
+ routeRecord.component = firstRoute ? Layout : RouterView
break
case MenuType.Menu:
routeRecord.component = loadRouteView(route.component)
diff --git a/admin/src/permission.ts b/admin/src/permission.ts
index dc4a138e..af29b7d0 100644
--- a/admin/src/permission.ts
+++ b/admin/src/permission.ts
@@ -4,7 +4,7 @@
import NProgress from 'nprogress'
import store from './store'
-import router from './router'
+import router, { indexName } from './router'
import 'nprogress/nprogress.css'
// NProgress配置
@@ -27,7 +27,11 @@ router.beforeEach(async (to, from, next) => {
await store.dispatch('user/getUser')
const routes = await store.dispatch('permission/generateRoutes')
routes.forEach((route: any) => {
- router.addRoute('index', route) // 动态添加可访问路由表
+ if(!route.children) {
+ router.addRoute(indexName, route)
+ return
+ }
+ router.addRoute(route) // 动态添加可访问路由表
})
console.log(router.getRoutes())
if (to.path === '/login') {
diff --git a/admin/src/router/index.ts b/admin/src/router/index.ts
index 190e2488..089c7d4f 100644
--- a/admin/src/router/index.ts
+++ b/admin/src/router/index.ts
@@ -1,5 +1,6 @@
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
import Layout from '@/layout/index.vue'
+export const indexName = Symbol('index')
/**
* Note: 路由配置项
*
@@ -18,12 +19,11 @@ import Layout from '@/layout/index.vue'
// 公共路由
export const constantRoutes: Array = [
{
+ name: indexName,
path: '/',
- redirect: 'workbench',
- name: 'index',
- component: Layout,
+ redirect: '/workbench',
+ component: Layout
},
-
{
path: '/permission',
component: Layout,