123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487 |
- import { basicRouteMap } from './router-modules.js'
- import { AccessEnum } from '~@/utils/constant'
- export default [
- {
- path: '/dashboard',
- redirect: '/dashboard/analysis',
- name: 'Dashboard',
- meta: {
- title: '仪表盘',
- icon: 'DashboardOutlined',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/dashboard/analysis',
- name: 'DashboardAnalysis',
- component: () => import('~/pages/dashboard/analysis/index.vue'),
- meta: {
- title: '分析页',
- },
- },
- {
- path: '/dashboard/monitor',
- name: 'DashboardMonitor',
- component: () => import('~/pages/dashboard/monitor/index.vue'),
- meta: {
- title: '监控页',
- },
- },
- {
- path: '/dashboard/workplace',
- name: 'DashboardWorkplace',
- component: () => import('~/pages/dashboard/workplace/index.vue'),
- meta: {
- title: '监控页',
- },
- },
- ],
- },
- {
- path: '/form',
- redirect: '/form/basic-form',
- name: 'Form',
- meta: {
- title: '表单页',
- icon: 'FormOutlined',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/form/basic-form',
- name: 'FormBasic',
- component: () => import('~/pages/form/basic-form/index.vue'),
- meta: {
- title: '基础表单',
- locale: 'menu.form.basic-form',
- },
- },
- {
- path: '/form/step-form',
- name: 'FormStep',
- component: () => import('~/pages/form/step-form/index.vue'),
- meta: {
- title: '分步表单',
- locale: 'menu.form.step-form',
- },
- },
- {
- path: '/form/advanced-form',
- name: 'FormAdvanced',
- component: () => import('~/pages/form/advanced-form/index.vue'),
- meta: {
- title: '高级表单',
- locale: 'menu.form.advanced-form',
- },
- },
- ],
- },
- {
- path: '/log',
- redirect: '/log/log',
- name: 'Log',
- meta: {
- title: '日志管理',
- icon: 'ProfileOutlined',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/log/log',
- name: 'LogLog',
- component: () => import('~/pages/log/log.vue'),
- meta: {
- title: '日志',
- },
- },
- {
- path: '/log/waflog',
- name: 'LogWafLog',
- component: () => import('~/pages/log/waflog.vue'),
- meta: {
- title: 'WAF日志',
- },
- },
- {
- path: '/log/log-info/:id',
- name: 'LogLogInfo',
- component: () => import('~/pages/log/log-info.vue'),
- meta: {
- title: '日志详情',
- hidden: true, // 不在菜单中显示
- activeMenu: '/log/log' // 高亮父菜单
- },
- },
- ],
- },
- {
- path: '/link',
- redirect: '/link/iframe',
- name: 'Link',
- meta: {
- title: '链接',
- icon: 'LinkOutlined',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/link/iframe',
- name: 'LinkIframe',
- component: basicRouteMap.Iframe,
- meta: {
- title: 'AntDesign',
- url: 'https://ant.design/',
- },
- },
- {
- path: '/link/antdv',
- name: 'LinkAntdv',
- component: basicRouteMap.Iframe,
- meta: {
- title: 'AntDesignVue',
- url: 'https://antdv.com/',
- },
- },
- {
- path: 'https://www.baidu.com',
- name: 'LinkExternal',
- meta: {
- title: '跳转百度',
- // target: '_self',
- },
- },
- ],
- },
- {
- path: '/menu',
- redirect: '/menu/menu1',
- name: 'Menu',
- meta: {
- title: '网关组',
- icon: 'BarsOutlined',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/menu/menu1',
- name: 'MenuMenu11',
- component: () => import('~/pages/menu/menu1.vue'),
- meta: {
- title: '网关IP管理',
- },
- },
- {
- path: '/menu/menu2',
- name: 'MenuMenu12',
- component: () => import('~/pages/menu/menu2.vue'),
- meta: {
- title: '菜单2',
- },
- },
- {
- path: '/menu/menu3',
- redirect: '/menu/menu3/menu1',
- name: 'MenuMenu1-1',
- meta: {
- title: '菜单1-1',
- },
- children: [
- {
- path: '/menu/menu3/menu1',
- name: 'MenuMenu111',
- component: () => import('~/pages/menu/menu-1-1/menu1.vue'),
- meta: {
- title: '菜单1-1-1',
- },
- },
- {
- path: '/menu/menu3/menu2',
- name: 'MenuMenu112',
- component: () => import('~/pages/menu/menu-1-1/menu2.vue'),
- meta: {
- title: '菜单1-1-2',
- },
- },
- ],
- },
- {
- path: '/menu/menu4',
- redirect: '/menu/menu4/menu1',
- name: 'MenuMenu2-1',
- meta: {
- title: '菜单2-1',
- },
- children: [
- {
- path: '/menu/menu4/menu1',
- name: 'MenuMenu211',
- component: () => import('~/pages/menu/menu-2-1/menu1.vue'),
- meta: {
- title: '菜单2-1-1',
- },
- },
- {
- path: '/menu/menu4/menu2',
- name: 'MenuMenu212',
- component: () => import('~/pages/menu/menu-2-1/menu2.vue'),
- meta: {
- title: '菜单2-1-2',
- },
- },
- ],
- },
- ],
- },
- {
- path: '/profile',
- name: 'profile',
- redirect: '/profile/basic',
- meta: {
- title: 'menu.profile',
- icon: 'ProfileOutlined',
- locale: 'menu.profile',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/profile/basic',
- name: 'ProfileBasic',
- component: () => import('~/pages/profile/basic/index.vue'),
- meta: {
- title: 'menu.profile.basic',
- locale: 'menu.profile.basic',
- },
- },
- ],
- },
- {
- path: '/access',
- redirect: '/access/common',
- name: 'Access',
- meta: {
- title: '权限模块',
- icon: 'ClusterOutlined',
- },
- children: [
- {
- path: '/access/common',
- name: 'AccessCommon',
- component: () => import('~/pages/access/common.vue'),
- meta: {
- title: '通用权限',
- },
- },
- {
- path: '/access/admin',
- name: 'AccessAdmin',
- component: () => import('~/pages/access/admin.vue'),
- meta: {
- title: '管理员',
- access: [AccessEnum.ADMIN],
- },
- },
- ],
- },
- {
- path: '/exception',
- redirect: '/exception/403',
- name: 'Exception',
- meta: {
- title: '异常页',
- icon: 'WarningOutlined',
- locale: 'menu.exception',
- },
- children: [
- {
- path: '/exception/403',
- name: 'Exception403',
- component: () => import('~/pages/exception/403.vue'),
- meta: {
- title: '403',
- locale: 'menu.exception.not-permission',
- },
- },
- {
- path: '/exception/404',
- name: 'Exception404',
- component: () => import('~/pages/exception/404.vue'),
- meta: {
- title: '404',
- locale: 'menu.exception.not-find',
- },
- },
- {
- path: '/exception/500',
- name: 'Exception500',
- component: () => import('~/pages/exception/500.vue'),
- meta: {
- title: '500',
- locale: 'menu.exception.server-error',
- },
- },
- ],
- },
- // 结果页
- {
- path: '/result',
- redirect: '/result/success',
- name: 'Result',
- meta: {
- title: '结果页',
- icon: 'CheckCircleOutlined',
- locale: 'menu.result',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/result/success',
- name: 'ResultSuccess',
- component: () => import('~/pages/result/success.vue'),
- meta: {
- title: '成功页',
- locale: 'menu.result.success',
- },
- },
- {
- path: '/result/fail',
- name: 'ResultFail',
- component: () => import('~/pages/result/fail.vue'),
- meta: {
- title: '失败页',
- locale: 'menu.result.fail',
- },
- },
- ],
- },
- {
- path: '/list',
- redirect: '/list/card-list',
- name: 'List',
- meta: {
- title: '列表页',
- icon: 'TableOutlined',
- locale: 'menu.list',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/list/card-list',
- name: 'CardList',
- component: () => import('~/pages/list/card-list.vue'),
- meta: {
- title: '卡片列表',
- locale: 'menu.list.card-list',
- },
- },
- {
- path: '/list/table-list',
- name: 'ConsultTable',
- component: () => import('~/pages/list/table-list.vue'),
- meta: {
- title: '查询表格',
- locale: 'menu.list.consult-table',
- },
- },
- {
- path: '/list/crud-table',
- name: 'CrudTable',
- component: () => import('~/pages/list/crud-table.vue'),
- meta: {
- title: '增删改查表格',
- locale: 'menu.list.crud-table',
- },
- },
- {
- path: '/list/basic-list',
- name: 'BasicList',
- component: () => import('~/pages/list/basic-list.vue'),
- meta: {
- title: '标准列表',
- locale: 'menu.list.basic-list',
- },
- },
- {
- path: '/list/search-list',
- name: 'SearchList',
- component: () => import('~/pages/list/search-list/index.vue'),
- meta: {
- title: '搜索列表',
- locale: 'menu.list.search-list',
- },
- redirect: '/list/search-list/articles',
- children: [
- {
- path: '/list/search-list/articles',
- name: 'SearchListArticles',
- component: () => import('~/pages/list/search-list/articles.vue'),
- meta: {
- title: '搜索列表(文章)',
- locale: 'menu.list.search-list.articles',
- },
- },
- {
- path: '/list/search-list/projects',
- name: 'SearchListProjects',
- component: () => import('~/pages/list/search-list/projects.vue'),
- meta: {
- title: '搜索列表(项目)',
- locale: 'menu.list.search-list.projects',
- },
- },
- {
- path: '/list/search-list/applications',
- name: 'SearchListApplications',
- component: () => import('~/pages/list/search-list/applications.vue'),
- meta: {
- title: '搜索列表(应用)',
- locale: 'menu.list.search-list.applications',
- },
- },
- ],
- },
- ],
- },
- {
- path: '/account',
- redirect: '/account/center',
- name: 'Account',
- meta: {
- title: '个人页',
- icon: 'UserOutlined',
- locale: 'menu.account',
- },
- component: basicRouteMap.RouteView,
- children: [
- {
- path: '/account/center',
- name: 'AccountCenter',
- component: () => import('~/pages/account/center.vue'),
- meta: {
- title: '个人主页',
- locale: 'menu.account.center',
- },
- },
- {
- path: '/account/settings',
- name: 'AccountSettings',
- component: () => import('~/pages/account/settings.vue'),
- meta: {
- title: '个人设置',
- locale: 'menu.account.settings',
- },
- },
- {
- path: '/account/settings/:id',
- name: 'AccountSettings1',
- component: () => import('~/pages/account/settings.vue'),
- meta: {
- title: '个人设置1',
- locale: 'menu.account.settings',
- hideInMenu: true,
- parentKeys: ['/account/settings'],
- },
- },
- ],
- },
- ]
|