soybean-admin/src/router/modules/component.ts
2021-11-17 17:49:00 +08:00

105 lines
3.4 KiB
TypeScript

import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BasicLayout, RouterViewLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import ComponentMap from '@/views/component/map/index.vue';
import ComponentVideo from '@/views/component/video/index.vue';
import EditorQuill from '@/views/component/editor/quill/index.vue';
import EditorMarkdown from '@/views/component/editor/markdown/index.vue';
import ComponentSwiper from '@/views/component/swiper/index.vue';
import ComponentCopy from '@/views/component/copy/index.vue';
setRouterCacheName(ComponentMap, ROUTE_NAME_MAP.get('component_map'));
setRouterCacheName(ComponentVideo, ROUTE_NAME_MAP.get('component_video'));
setRouterCacheName(EditorQuill, ROUTE_NAME_MAP.get('component_editor_quill'));
setRouterCacheName(EditorMarkdown, ROUTE_NAME_MAP.get('component_editor_markdown'));
setRouterCacheName(ComponentSwiper, ROUTE_NAME_MAP.get('component_swiper'));
setRouterCacheName(ComponentSwiper, ROUTE_NAME_MAP.get('component_copy'));
const COMPONENT: CustomRoute = {
name: ROUTE_NAME_MAP.get('component'),
path: EnumRoutePath.component,
component: BasicLayout,
redirect: { name: ROUTE_NAME_MAP.get('component_map') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.component,
icon: 'fluent:app-store-24-regular'
},
children: [
{
name: ROUTE_NAME_MAP.get('component_map'),
path: EnumRoutePath.component_map,
component: ComponentMap,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_map,
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('component_video'),
path: EnumRoutePath.component_video,
component: ComponentVideo,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_video,
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('component_editor'),
path: EnumRoutePath.component_editor,
component: RouterViewLayout,
redirect: { name: ROUTE_NAME_MAP.get('component_editor_quill') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_editor,
fullPage: true
},
children: [
{
name: ROUTE_NAME_MAP.get('component_editor_quill'),
path: EnumRoutePath.component_editor_quill,
component: EditorQuill,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_editor_quill,
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('component_editor_markdown'),
path: EnumRoutePath.component_editor_markdown,
component: EditorMarkdown,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_editor_markdown,
fullPage: true
}
}
]
},
{
name: ROUTE_NAME_MAP.get('component_swiper'),
path: EnumRoutePath.component_swiper,
component: ComponentSwiper,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_swiper
}
},
{
name: ROUTE_NAME_MAP.get('component_copy'),
path: EnumRoutePath.component_copy,
component: ComponentCopy,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_copy
}
}
]
};
export default COMPONENT;