119 lines
2.8 KiB
TypeScript
119 lines
2.8 KiB
TypeScript
import type { RouteRecordRaw } from 'vue-router';
|
|
import { BasicLayout } from '@/layouts';
|
|
import {
|
|
PluginMap,
|
|
PluginVideo,
|
|
PluginEditorQuill,
|
|
PluginEditorMarkdown,
|
|
PluginSwiper,
|
|
PluginCopy,
|
|
PluginIcon,
|
|
PluginPrint
|
|
} from '@/views';
|
|
|
|
import { routeName, routePath, routeTitle } from '../constant';
|
|
|
|
const plugin: RouteRecordRaw = {
|
|
name: routeName('plugin'),
|
|
path: routePath('plugin'),
|
|
component: BasicLayout,
|
|
redirect: { name: routeName('plugin_map') },
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin'),
|
|
icon: 'clarity:plugin-line',
|
|
order: 3
|
|
},
|
|
children: [
|
|
{
|
|
name: routeName('plugin_map'),
|
|
path: routePath('plugin_map'),
|
|
component: PluginMap,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_map'),
|
|
fullPage: true
|
|
}
|
|
},
|
|
{
|
|
name: routeName('plugin_video'),
|
|
path: routePath('plugin_video'),
|
|
component: PluginVideo,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_video'),
|
|
fullPage: true
|
|
}
|
|
},
|
|
{
|
|
name: routeName('plugin_editor'),
|
|
path: routePath('plugin_editor'),
|
|
redirect: { name: routeName('plugin_editor_quill') },
|
|
meta: {
|
|
title: routeTitle('plugin_editor')
|
|
},
|
|
children: [
|
|
{
|
|
name: routeName('plugin_editor_quill'),
|
|
path: routePath('plugin_editor_quill'),
|
|
component: PluginEditorQuill,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_editor_quill'),
|
|
fullPage: true
|
|
}
|
|
},
|
|
{
|
|
name: routeName('plugin_editor_markdown'),
|
|
path: routePath('plugin_editor_markdown'),
|
|
component: PluginEditorMarkdown,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_editor_markdown'),
|
|
fullPage: true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: routeName('plugin_swiper'),
|
|
path: routePath('plugin_swiper'),
|
|
component: PluginSwiper,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_swiper')
|
|
}
|
|
},
|
|
{
|
|
name: routeName('plugin_copy'),
|
|
path: routePath('plugin_copy'),
|
|
component: PluginCopy,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_copy'),
|
|
fullPage: true
|
|
}
|
|
},
|
|
{
|
|
name: routeName('plugin_icon'),
|
|
path: routePath('plugin_icon'),
|
|
component: PluginIcon,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_icon')
|
|
}
|
|
},
|
|
{
|
|
name: routeName('plugin_print'),
|
|
path: routePath('plugin_print'),
|
|
component: PluginPrint,
|
|
meta: {
|
|
requiresAuth: true,
|
|
title: routeTitle('plugin_print')
|
|
}
|
|
}
|
|
]
|
|
};
|
|
|
|
export default plugin;
|