refactor(projects): 路由声明重构,添加composables,BaseLayout进行中,文件夹规范

This commit is contained in:
Soybean
2021-11-19 01:33:36 +08:00
parent 1c5fdca596
commit 1e84d13d54
75 changed files with 668 additions and 565 deletions

View File

@ -1,12 +1,11 @@
import type { RouteRecordRaw } from 'vue-router';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BlankLayout } from '@/layouts';
import type { LoginModuleType } from '@/interface';
import { ROUTE_NAME_MAP } from '@/utils';
import Login from '@/views/system/login/index.vue';
import NoPermission from '@/views/system/exception/403.vue';
import NotFound from '@/views/system/exception/404.vue';
import ServiceError from '@/views/system/exception/500.vue';
import { routeName, routePath, routeTitle } from '../const';
/**
* 固定不变的路由
@ -17,15 +16,15 @@ const constantRoutes: RouteRecordRaw[] = [
name: 'single_',
path: '/single_',
component: BlankLayout,
redirect: { name: ROUTE_NAME_MAP.get('not-found') },
redirect: { name: routeName('not-found') },
meta: {
keepAlive: true
},
children: [
// 登录
{
name: ROUTE_NAME_MAP.get('login'),
path: EnumRoutePath.login,
name: routeName('login'),
path: routePath('login'),
component: Login,
props: route => {
const moduleType: LoginModuleType = (route.query?.module as LoginModuleType) || 'pwd-login';
@ -34,37 +33,37 @@ const constantRoutes: RouteRecordRaw[] = [
};
},
meta: {
title: EnumRouteTitle.login,
title: routeTitle('login'),
fullPage: true
}
},
// 403
{
name: ROUTE_NAME_MAP.get('no-permission'),
path: EnumRoutePath['no-permission'],
name: routeName('no-permission'),
path: routePath('no-permission'),
component: NoPermission,
meta: {
title: EnumRouteTitle['no-permission'],
title: routeTitle('no-permission'),
fullPage: true
}
},
// 404
{
name: ROUTE_NAME_MAP.get('not-found'),
path: EnumRoutePath['not-found'],
name: routeName('not-found'),
path: routePath('not-found'),
component: NotFound,
meta: {
title: EnumRouteTitle['not-found'],
title: routeTitle('not-found'),
fullPage: true
}
},
// 500
{
name: ROUTE_NAME_MAP.get('service-error'),
path: EnumRoutePath['service-error'],
name: routeName('service-error'),
path: routePath('service-error'),
component: ServiceError,
meta: {
title: EnumRouteTitle['service-error'],
title: routeTitle('service-error'),
fullPage: true
}
}
@ -73,7 +72,7 @@ const constantRoutes: RouteRecordRaw[] = [
// 匹配无效的路径重定向404
{
path: '/:pathMatch(.*)*',
redirect: { name: 'not-found' }
redirect: { name: routeName('not-found') }
}
];

View File

@ -1,18 +1,20 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { setRouterCacheName } from '@/utils';
import DashboardAnalysis from '@/views/dashboard/analysis/index.vue';
import { getRouteConst } from '../const';
setRouterCacheName(DashboardAnalysis, ROUTE_NAME_MAP.get('dashboard_analysis'));
const { name, path, title } = getRouteConst('dashboard_analysis');
setRouterCacheName(DashboardAnalysis, name);
/** 路由首页 */
const ROUTE_HOME: CustomRoute = {
name: ROUTE_NAME_MAP.get('dashboard_analysis'),
path: EnumRoutePath.dashboard_analysis,
name,
path,
component: DashboardAnalysis,
meta: {
requiresAuth: true,
title: EnumRouteTitle.dashboard_analysis
title
}
};