import type { RouteRecordRaw } from 'vue-router' const pageTitle = (name: string): string => { return `pagesTitle.${name}` } /** * 后台基础路由路径 */ export const adminBaseRoutePath = '/admin' export const adminBaseRoute = { path: adminBaseRoutePath, name: 'admin', component: () => import('@/layouts/admin/index.vue'), // 直接重定向到 loading 路由 redirect: adminBaseRoutePath + '/loading', meta: { title: `pagesTitle.admin` }, children: [ { path: 'loading/:to?', name: 'adminMainLoading', component: () => import('@/layouts/common/components/loading.vue'), meta: { title: `pagesTitle.loading` } } ] } /* * 静态路由 * 自动加载 ./static 目录的所有文件,并 push 到以下数组 */ const staticRoutes: Array = [ adminBaseRoute, { // 管理员登录页 - 不放在 adminBaseRoute.children 因为登录页不需要使用后台的布局 path: '/login', name: 'login', component: () => import('@/views/user/login.vue'), meta: { title: pageTitle('login') } }, { path: '/:path(.*)*', redirect: '/404' }, { // 404 path: '/404', name: 'notFound', component: () => import('@/views/common/error/404.vue'), meta: { title: pageTitle('notFound') // 页面不存在 } } ] export default staticRoutes