import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router"; export const Layout = () => import("@/layout/index.vue"); // 静态路由 export const constantRoutes: RouteRecordRaw[] = [ { path: "/redirect", component: Layout, meta: { hidden: true }, children: [ { path: "/redirect/:path(.*)", component: () => import("@/views/redirect/index.vue"), }, ], }, { path: "/login", component: () => import("@/views/login/index.vue"), meta: { hidden: true }, }, { path: "/", name: "/", meta: { hidden: true }, component: Layout, redirect: "/welcome", children: [ { path: "welcome", component: () => import("@/views/welcome/index.vue"), name: "Welcome", meta: { hidden: true }, }, ], }, { path: "/:pathMatch(.*)*", // 必备 meta: { hidden: true }, component: () => import("@/views/error-page/404.vue"), }, // ===============大屏 { path: "/taskScreen", meta: { hidden: true }, component: () => import("@/views/report/statistics/screens/tasks/index.vue"), }, { path: "/capacityScreen", meta: { hidden: true }, component: () => import("@/views/report/statistics/screens/capacity/index.vue"), }, { path: "/qualityScreen", meta: { hidden: true }, component: () => import("@/views/report/statistics/screens/quality/index.vue"), }, { path: "/lineScreen", meta: { hidden: true }, component: () => import("@/views/report/statistics/screens/line/index.vue"), }, { path: "/repertoryStatistic", meta: { hidden: true }, component: () => import("@/views/report/statistics/screens/repertoryStatistic/index.vue"), }, // 外部链接 // { // path: "/external-link", // component: Layout, // children: [ { // component: () => import("@/views/external-link/index.vue"), // path: "https://www.cnblogs.com/haoxianrui/", // meta: { title: "外部链接", icon: "link" }, // }, // ], // }, // 多级嵌套路由 /* { path: '/nested', component: Layout, redirect: '/nested/level1/level2', name: 'Nested', meta: {title: '多级菜单', icon: 'nested'}, children: [ { path: 'level1', component: () => import('@/views/nested/level1/index.vue'), name: 'Level1', meta: {title: '菜单一级'}, redirect: '/nested/level1/level2', children: [ { path: 'level2', component: () => import('@/views/nested/level1/level2/index.vue'), name: 'Level2', meta: {title: '菜单二级'}, redirect: '/nested/level1/level2/level3', children: [ { path: 'level3-1', component: () => import('@/views/nested/level1/level2/level3/index1.vue'), name: 'Level3-1', meta: {title: '菜单三级-1'} }, { path: 'level3-2', component: () => import('@/views/nested/level1/level2/level3/index2.vue'), name: 'Level3-2', meta: {title: '菜单三级-2'} } ] } ] }, ] }*/ ]; /** * 创建路由 */ const router = createRouter({ history: createWebHistory(), routes: constantRoutes, // 刷新时,滚动条位置还原 scrollBehavior: () => ({ left: 0, top: 0 }), }); /** * 重置路由 */ export function resetRouter() { router.replace({ path: "/login" }); } export default router;