117 lines
3.3 KiB
TypeScript
117 lines
3.3 KiB
TypeScript
import type { RouteRecordRaw } from 'vue-router';
|
|
import BasicLayout from '../layouts/BasicLayout.vue';
|
|
import BlankLayout from '../layouts/BlankLayout.vue';
|
|
|
|
// import { MetaRecord, MenuDataItem } from 'antdv-pro-layout';
|
|
// mate数据类型 MetaRecord
|
|
// 根据/路径构建菜单列表,列表项类型 MenuDataItem
|
|
// https://github.com/vueComponent/pro-components/blob/a19279f3a28190bf11e8c36f316c92dbd3387a6d/packages/pro-layout/src/typings.ts#L16
|
|
// 菜单图标来源 https://ant.design/components/icon 自定义iconfont
|
|
|
|
/**公共路由 */
|
|
export const constantRoutes: RouteRecordRaw[] = [
|
|
{
|
|
path: '/',
|
|
name: 'Root',
|
|
component: BasicLayout,
|
|
redirect: '/index',
|
|
children: [
|
|
{
|
|
path: '/index',
|
|
name: 'Index',
|
|
meta: { title: 'router.index', icon: 'icon-pcduan' },
|
|
component: () => import('@/views/index.vue'),
|
|
},
|
|
{
|
|
path: '/account',
|
|
name: 'Account',
|
|
meta: {
|
|
title: 'router.account.index',
|
|
hideInMenu: true,
|
|
},
|
|
component: BlankLayout,
|
|
redirect: '/account/settings',
|
|
children: [
|
|
{
|
|
path: 'profile',
|
|
name: 'Profile',
|
|
meta: { title: 'router.account.profile', cache: true },
|
|
component: () => import('@/views/account/profile.vue'),
|
|
},
|
|
{
|
|
path: 'settings',
|
|
name: 'Settings',
|
|
meta: { title: 'router.account.settings', cache: true },
|
|
component: () => import('@/views/account/settings.vue'),
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
|
|
{
|
|
path: '/help',
|
|
name: 'HelpDoc', // 帮助文档
|
|
meta: { title: 'router.helpDoc' },
|
|
component: () => import('@/views/tool/help/index.vue'),
|
|
},
|
|
{
|
|
path: '/trace-task-hlr',
|
|
name: 'TraceTaskHLR', // 跟踪任务HLR
|
|
meta: { title: 'router.traceTaskHLR', neType: ['UDM', 'HLR'] },
|
|
component: () => import('@/views/traceManage/task-hlr/index.vue'),
|
|
},
|
|
{
|
|
path: '/quick-start',
|
|
name: 'QuickStart', // 引导开站
|
|
meta: { title: 'router.quickStart' },
|
|
component: () => import('@/views/system/quick-start/index.vue'),
|
|
},
|
|
{
|
|
path: '/lock-screen',
|
|
name: 'LockScreen', // 锁屏
|
|
meta: { title: 'router.lockScreen' },
|
|
component: () => import('@/views/tool/lockScreen/index.vue'),
|
|
},
|
|
|
|
{
|
|
path: '/login/oauth2',
|
|
name: 'LoginOAuth2', // 第三方认证重定向
|
|
component: () => import('@/views/login/oauth2.vue'),
|
|
},
|
|
{
|
|
path: '/login',
|
|
name: 'Login', // 登录页
|
|
meta: { title: 'router.login' },
|
|
component: () => import('@/views/login/index.vue'),
|
|
},
|
|
{
|
|
path: '/register',
|
|
name: 'Register', // 注册页
|
|
meta: { title: 'router.register' },
|
|
component: () => import('@/views/register.vue'),
|
|
},
|
|
{
|
|
path: '/403',
|
|
name: 'NotPermission', // 无权限
|
|
meta: { title: 'router.page403' },
|
|
component: () => import('@/views/error/403.vue'),
|
|
},
|
|
{
|
|
path: '/redirect',
|
|
name: 'Redirect',
|
|
component: BasicLayout,
|
|
children: [
|
|
{
|
|
path: '/redirect/:path(.*)',
|
|
component: () => import('@/views/redirect/index.vue'),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/:pathMatch(.*)*',
|
|
meta: { title: 'router.page404' },
|
|
component: () => import('@/views/error/404.vue'),
|
|
},
|
|
];
|