import { getLoginModuleRegExp } from '@/utils'; /** 固定的路由 */ export const constantRoutes: AuthRoute.Route[] = [ { name: 'root', path: '/', redirect: '/dashboard/analysis', meta: { title: 'Root' } }, { name: 'login', path: '/login', component: 'self', props: route => { const moduleType = (route.params.module as EnumType.LoginModuleKey) || 'pwd-login'; return { module: moduleType }; }, meta: { title: '登录', dynamicPath: `/login/:module(${getLoginModuleRegExp()})?`, singleLayout: 'blank' } }, { name: 'no-permission', path: '/no-permission', component: 'self', meta: { title: '无权限', singleLayout: 'blank' } }, { name: 'not-found', path: '/not-found', component: 'self', meta: { title: '未找到', singleLayout: 'blank' } }, { name: 'service-error', path: '/service-error', component: 'self', meta: { title: '服务器错误', singleLayout: 'blank' } }, // 匹配无效路径的路由 { name: 'not-found-page', path: '/:pathMatch(.*)*', component: 'blank', meta: { title: '未找到', singleLayout: 'blank' } } ]; /** 路由名称 */ export const routeName = (key: AuthRoute.RouteKey) => key; /** 路由路径 */ export function routePath(key: Exclude): AuthRoute.RoutePath { const rootPath: AuthRoute.RoutePath = '/'; if (key === 'root') return rootPath; const splitMark: AuthRoute.RouteSplitMark = '_'; const pathSplitMark = '/'; const path = key.split(splitMark).join(pathSplitMark); return (pathSplitMark + path) as AuthRoute.RoutePath; }