2022-01-06 11:37:06 +08:00
|
|
|
import { getLoginModuleRegExp } from '@/utils';
|
|
|
|
import { LoginModuleKey } from '@/interface';
|
2021-11-28 12:17:48 +08:00
|
|
|
|
2022-01-06 11:37:06 +08:00
|
|
|
/** 固定的路由 */
|
|
|
|
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 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'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// 匹配无效的路径重定向not-found的页面
|
|
|
|
{
|
|
|
|
name: 'not-found-page',
|
|
|
|
path: '/:pathMatch(.*)*',
|
|
|
|
component: 'blank',
|
|
|
|
meta: {
|
|
|
|
title: '未找到',
|
|
|
|
singleLayout: 'blank'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
];
|
2021-10-11 17:51:16 +08:00
|
|
|
|
2022-01-06 02:00:42 +08:00
|
|
|
/** 路由名称 */
|
|
|
|
export const routeName = (key: AuthRoute.RouteKey) => key;
|
|
|
|
|
|
|
|
/** 路由路径 */
|
|
|
|
export function routePath(key: Exclude<AuthRoute.RouteKey, 'not-found-page'>): 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;
|
|
|
|
}
|