Files
fe.ems.vue3/src/router/routers.ts
2025-08-12 09:54:37 +08:00

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'),
},
];