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,