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,18 +1,19 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { ROUTE_NAME_MAP, setRouterCacheName, setSingleRoute } from '@/utils';
import { setRouterCacheName, setSingleRoute } from '@/utils';
import { BasicLayout } from '@/layouts';
import About from '@/views/about/index.vue';
import { getRouteConst } from '../const';
setRouterCacheName(About, ROUTE_NAME_MAP.get('about'));
const { name, path, title } = getRouteConst('about');
setRouterCacheName(About, name);
const ABOUT: CustomRoute = setSingleRoute(BasicLayout, {
name: ROUTE_NAME_MAP.get('about'),
path: EnumRoutePath.about,
name,
path,
component: About,
meta: {
requiresAuth: true,
title: EnumRouteTitle.about,
title,
icon: 'fluent:book-information-24-regular'
}
});

View File

@ -1,90 +1,90 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BasicLayout, RouterViewLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { 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 { routeName, routePath, routeTitle } from '../const';
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(ComponentMap, routeName('component_map'));
setRouterCacheName(ComponentVideo, routeName('component_video'));
setRouterCacheName(EditorQuill, routeName('component_editor_quill'));
setRouterCacheName(EditorMarkdown, routeName('component_editor_markdown'));
setRouterCacheName(ComponentSwiper, routeName('component_swiper'));
const COMPONENT: CustomRoute = {
name: ROUTE_NAME_MAP.get('component'),
path: EnumRoutePath.component,
name: routeName('component'),
path: routePath('component'),
component: BasicLayout,
redirect: { name: ROUTE_NAME_MAP.get('component_map') },
redirect: { name: routeName('component_map') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.component,
title: routeTitle('component'),
icon: 'fluent:app-store-24-regular'
},
children: [
{
name: ROUTE_NAME_MAP.get('component_map'),
path: EnumRoutePath.component_map,
name: routeName('component_map'),
path: routePath('component_map'),
component: ComponentMap,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_map,
title: routeTitle('component_map'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('component_video'),
path: EnumRoutePath.component_video,
name: routeName('component_video'),
path: routePath('component_video'),
component: ComponentVideo,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_video,
title: routeTitle('component_video'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('component_editor'),
path: EnumRoutePath.component_editor,
name: routeName('component_editor'),
path: routePath('component_editor'),
component: RouterViewLayout,
redirect: { name: ROUTE_NAME_MAP.get('component_editor_quill') },
redirect: { name: routeName('component_editor_quill') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_editor,
title: routeTitle('component_editor'),
fullPage: true
},
children: [
{
name: ROUTE_NAME_MAP.get('component_editor_quill'),
path: EnumRoutePath.component_editor_quill,
name: routeName('component_editor_quill'),
path: routePath('component_editor_quill'),
component: EditorQuill,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_editor_quill,
title: routeTitle('component_editor_quill'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('component_editor_markdown'),
path: EnumRoutePath.component_editor_markdown,
name: routeName('component_editor_markdown'),
path: routePath('component_editor_markdown'),
component: EditorMarkdown,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_editor_markdown,
title: routeTitle('component_editor_markdown'),
fullPage: true
}
}
]
},
{
name: ROUTE_NAME_MAP.get('component_swiper'),
path: EnumRoutePath.component_swiper,
name: routeName('component_swiper'),
path: routePath('component_swiper'),
component: ComponentSwiper,
meta: {
requiresAuth: true,
title: EnumRouteTitle.component_swiper
title: routeTitle('component_swiper')
}
}
]

View File

@ -1,31 +1,31 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BaseLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { ROUTE_HOME } from '../routes';
import { BasicLayout } from '@/layouts';
import { setRouterCacheName } from '@/utils';
import DashboardWorkbench from '@/views/dashboard/workbench/index.vue';
import { ROUTE_HOME } from '../routes';
import { routeName, routePath, routeTitle } from '../const';
setRouterCacheName(DashboardWorkbench, ROUTE_NAME_MAP.get('dashboard_workbench'));
setRouterCacheName(DashboardWorkbench, routeName('dashboard_workbench'));
const DASHBOARD: CustomRoute = {
name: ROUTE_NAME_MAP.get('dashboard'),
path: EnumRoutePath.dashboard,
component: BaseLayout,
redirect: { name: ROUTE_NAME_MAP.get('dashboard_analysis') },
name: routeName('dashboard'),
path: routePath('dashboard'),
component: BasicLayout,
redirect: { name: routeName('dashboard_analysis') },
meta: {
title: EnumRouteTitle.dashboard,
title: routeTitle('dashboard_analysis'),
icon: 'carbon:dashboard'
},
children: [
ROUTE_HOME,
{
name: ROUTE_NAME_MAP.get('dashboard_workbench'),
path: EnumRoutePath.dashboard_workbench,
name: routeName('dashboard_workbench'),
path: routePath('dashboard_workbench'),
component: DashboardWorkbench,
meta: {
keepAlive: true,
requiresAuth: true,
title: EnumRouteTitle.dashboard_workbench
title: routeTitle('dashboard_workbench')
}
}
]

View File

@ -1,54 +1,54 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BasicLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { setRouterCacheName } from '@/utils';
import DocumentVue from '@/views/document/vue/index.vue';
import DocumentVite from '@/views/document/vite/index.vue';
import DocumentNaive from '@/views/document/naive/index.vue';
import { routeName, routePath, routeTitle } from '../const';
setRouterCacheName(DocumentVue, ROUTE_NAME_MAP.get('document_vue'));
setRouterCacheName(DocumentVite, ROUTE_NAME_MAP.get('document_vite'));
setRouterCacheName(DocumentNaive, ROUTE_NAME_MAP.get('document_naive'));
setRouterCacheName(DocumentVue, routeName('document_vue'));
setRouterCacheName(DocumentVite, routeName('document_vite'));
setRouterCacheName(DocumentNaive, routeName('document_naive'));
const DOCUMENT: CustomRoute = {
name: ROUTE_NAME_MAP.get('document'),
path: EnumRoutePath.document,
name: routeName('document'),
path: routePath('document'),
component: BasicLayout,
redirect: { name: ROUTE_NAME_MAP.get('document_vue') },
redirect: { name: routeName('document_vue') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.document,
title: routeTitle('document'),
icon: 'carbon:document'
},
children: [
{
name: ROUTE_NAME_MAP.get('document_vue'),
path: EnumRoutePath.document_vue,
name: routeName('document_vue'),
path: routePath('document_vue'),
component: DocumentVue,
meta: {
requiresAuth: true,
title: EnumRouteTitle.document_vue,
title: routeTitle('document_vue'),
fullPage: true,
keepAlive: true
}
},
{
name: ROUTE_NAME_MAP.get('document_vite'),
path: EnumRoutePath.document_vite,
name: routeName('document_vite'),
path: routePath('document_vite'),
component: DocumentVite,
meta: {
requiresAuth: true,
title: EnumRouteTitle.document_vite,
title: routeTitle('document_vite'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('document_naive'),
path: EnumRoutePath.document_naive,
name: routeName('document_naive'),
path: routePath('document_naive'),
component: DocumentNaive,
meta: {
requiresAuth: true,
title: EnumRouteTitle.document_naive,
title: routeTitle('document_naive'),
fullPage: true
}
}

View File

@ -1,53 +1,53 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BasicLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { setRouterCacheName } from '@/utils';
import Exception403 from '@/views/system/exception/403.vue';
import Exception404 from '@/views/system/exception/404.vue';
import Exception500 from '@/views/system/exception/500.vue';
import { routeName, routePath, routeTitle } from '../const';
setRouterCacheName(Exception404, ROUTE_NAME_MAP.get('exception_404'));
setRouterCacheName(Exception403, ROUTE_NAME_MAP.get('exception_403'));
setRouterCacheName(Exception500, ROUTE_NAME_MAP.get('exception_500'));
setRouterCacheName(Exception404, routeName('exception_404'));
setRouterCacheName(Exception403, routeName('exception_403'));
setRouterCacheName(Exception500, routeName('exception_500'));
const EXCEPTION: CustomRoute = {
name: ROUTE_NAME_MAP.get('exception'),
path: EnumRoutePath.exception,
name: routeName('exception'),
path: routePath('exception'),
component: BasicLayout,
redirect: { name: ROUTE_NAME_MAP.get('exception_403') },
redirect: { name: routeName('exception_403') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.exception,
title: routeTitle('exception'),
icon: 'ant-design:exception-outlined'
},
children: [
{
name: ROUTE_NAME_MAP.get('exception_403'),
path: EnumRoutePath.exception_403,
name: routeName('exception_403'),
path: routePath('exception_403'),
component: Exception403,
meta: {
requiresAuth: true,
title: EnumRouteTitle.exception_403,
title: routeTitle('exception_403'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('exception_404'),
path: EnumRoutePath.exception_404,
name: routeName('exception_404'),
path: routePath('exception_404'),
component: Exception404,
meta: {
requiresAuth: true,
title: EnumRouteTitle.exception_404,
title: routeTitle('exception_404'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('exception_500'),
path: EnumRoutePath.exception_500,
name: routeName('exception_500'),
path: routePath('exception_500'),
component: Exception500,
meta: {
requiresAuth: true,
title: EnumRouteTitle.exception_500,
title: routeTitle('exception_500'),
fullPage: true
}
}

View File

@ -1,52 +1,52 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BasicLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { setRouterCacheName } from '@/utils';
import FeatCopy from '@/views/feat/copy/index.vue';
import FeatIcon from '@/views/feat/icon/index.vue';
import FeatPrint from '@/views/feat/print/index.vue';
import { routeName, routePath, routeTitle } from '../const';
setRouterCacheName(FeatCopy, ROUTE_NAME_MAP.get('feat_copy'));
setRouterCacheName(FeatIcon, ROUTE_NAME_MAP.get('feat_icon'));
setRouterCacheName(FeatPrint, ROUTE_NAME_MAP.get('feat_print'));
setRouterCacheName(FeatCopy, routeName('feat_copy'));
setRouterCacheName(FeatIcon, routeName('feat_icon'));
setRouterCacheName(FeatPrint, routeName('feat_print'));
const FEAT: CustomRoute = {
name: ROUTE_NAME_MAP.get('feat'),
path: EnumRoutePath.feat,
name: routeName('feat'),
path: routePath('feat'),
component: BasicLayout,
redirect: { name: ROUTE_NAME_MAP.get('feat_copy') },
redirect: { name: routeName('feat_copy') },
meta: {
requiresAuth: true,
title: EnumRouteTitle.feat,
title: routeTitle('feat'),
icon: 'ic:round-repeat'
},
children: [
{
name: ROUTE_NAME_MAP.get('feat_copy'),
path: EnumRoutePath.feat_copy,
name: routeName('feat_copy'),
path: routePath('feat_copy'),
component: FeatCopy,
meta: {
requiresAuth: true,
title: EnumRouteTitle.feat_copy,
title: routeTitle('feat_copy'),
fullPage: true
}
},
{
name: ROUTE_NAME_MAP.get('feat_icon'),
path: EnumRoutePath.feat_icon,
name: routeName('feat_icon'),
path: routePath('feat_icon'),
component: FeatIcon,
meta: {
requiresAuth: true,
title: EnumRouteTitle.feat_icon
title: routeTitle('feat_icon')
}
},
{
name: ROUTE_NAME_MAP.get('feat_print'),
path: EnumRoutePath.feat_print,
name: routeName('feat_print'),
path: routePath('feat_print'),
component: FeatPrint,
meta: {
requiresAuth: true,
title: EnumRouteTitle.feat_print
title: routeTitle('feat_print')
}
}
]

View File

@ -1,40 +1,41 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { BasicLayout, RouterViewLayout } from '@/layouts';
import { ROUTE_NAME_MAP, setRouterCacheName } from '@/utils';
import { setRouterCacheName } from '@/utils';
import MultiMenuFirstSecond from '@/views/multi-menu/first/second/index.vue';
import { routeName, routePath, routeTitle } from '../const';
setRouterCacheName(MultiMenuFirstSecond, ROUTE_NAME_MAP.get('multi-menu_first_second'));
setRouterCacheName(MultiMenuFirstSecond, routeName('multi-menu_first_second'));
const MULTI_MENU: CustomRoute = {
name: ROUTE_NAME_MAP.get('multi-menu'),
path: EnumRoutePath['multi-menu'],
name: routeName('multi-menu'),
path: routePath('multi-menu'),
component: BasicLayout,
redirect: { name: ROUTE_NAME_MAP.get('multi-menu_first') },
redirect: { name: routeName('multi-menu_first') },
meta: {
title: EnumRouteTitle['multi-menu'],
title: routeTitle('multi-menu'),
icon: 'carbon:menu'
},
children: [
{
name: ROUTE_NAME_MAP.get('multi-menu_first'),
path: EnumRoutePath['multi-menu_first'],
name: routeName('multi-menu_first'),
path: routePath('multi-menu_first'),
component: RouterViewLayout,
redirect: { name: ROUTE_NAME_MAP.get('multi-menu_first_second') },
redirect: { name: routeName('multi-menu_first_second') },
meta: {
keepAlive: true,
requiresAuth: true,
title: EnumRouteTitle['multi-menu_first']
title: routeTitle('multi-menu_first_second')
},
children: [
{
name: ROUTE_NAME_MAP.get('multi-menu_first_second'),
path: EnumRoutePath['multi-menu_first_second'],
name: routeName('multi-menu_first_second'),
path: routePath('multi-menu_first_second'),
component: MultiMenuFirstSecond,
meta: {
keepAlive: true,
requiresAuth: true,
title: EnumRouteTitle['multi-menu_first_second']
title: routeTitle('multi-menu_first_second'),
fullPage: true
}
}
]

View File

@ -1,11 +1,10 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath } from '@/enum';
import { ROUTE_NAME_MAP } from '@/utils';
import { routeName, routePath } from '../const';
import { ROUTE_HOME } from '../routes';
const ROOT: CustomRoute = {
name: ROUTE_NAME_MAP.get('root'),
path: EnumRoutePath.root,
name: routeName('root'),
path: routePath('root'),
redirect: { name: ROUTE_HOME.name },
meta: {
isNotMenu: true