refactor: router (#145)

* refactor: router

* perf: router

* perf: router

* perf: router

Co-authored-by: lrl <742798240@qq.com>
This commit is contained in:
啝裳
2021-12-12 17:49:19 +08:00
committed by GitHub
parent 7811f6bdeb
commit d57e0e379e
19 changed files with 3715 additions and 1787 deletions

View File

@@ -0,0 +1,39 @@
// 静态路由
import tabsRouter from "./tabs";
import homeRouter from "./home";
import errorRouter from "./error";
import editorRouter from "./editor";
import nestedRouter from "./nested";
import externalLink from "./externalLink";
import flowChartRouter from "./flowchart";
import remainingRouter from "./remaining";
import componentsRouter from "./components";
import { RouteRecordRaw, RouteComponent } from "vue-router";
import {
ascending,
formatTwoStageRoutes,
formatFlatteningRoutes
} from "../utils";
// 原始静态路由(未做任何处理)
const routes = [
tabsRouter,
homeRouter,
errorRouter,
nestedRouter,
externalLink,
editorRouter,
flowChartRouter,
componentsRouter
];
// 导出处理后的静态路由(三级及以上的路由全部拍成二级)
export const constantRoutes: Array<RouteRecordRaw> = formatTwoStageRoutes(
formatFlatteningRoutes(ascending(routes))
);
// 用于渲染菜单,保持原始层级
export const constantMenus: Array<RouteComponent> = ascending(routes).concat(
...remainingRouter
);

View File

@@ -15,7 +15,7 @@ const nestedRouter = {
children: [
{
path: "/nested/menu1",
component: () => import("/@/views/nested/menu1/index.vue"),
component: () => import("/@/layout/routerView/parent.vue"),
name: "Menu1",
meta: {
title: "message.hsmenu1",
@@ -38,7 +38,7 @@ const nestedRouter = {
},
{
path: "/nested/menu1/menu1-2",
component: () => import("/@/views/nested/menu1/menu1-2/index.vue"),
component: () => import("/@/layout/routerView/parent.vue"),
name: "Menu1-2",
redirect: "/nested/menu1/menu1-2/menu1-2-1",
meta: {

View File

@@ -4,7 +4,7 @@ const tabsRouter = {
path: "/tabs",
name: "reTabs",
component: Layout,
redirect: "/tags/index",
redirect: "/tabs/index",
meta: {
icon: "IF-team-icontabs",
title: "message.hstabs",
@@ -32,7 +32,8 @@ const tabsRouter = {
showLink: false,
i18n: false,
dynamicLevel: 3,
realPath: "/tabs/detail"
realPath: "/tabs/detail",
refreshRedirect: "/tabs/index"
}
}
]