This commit is contained in:
ZhuJW
2026-07-10 18:55:55 +08:00
commit fce40c7d6c
317 changed files with 170079 additions and 0 deletions
+474
View File
@@ -0,0 +1,474 @@
import { defineEventHandler } from 'h3'
const menuData = [
{
id: 2,
parentId: null,
title: '分析页',
icon: 'DashboardOutlined',
component: '/dashboard/analysis',
path: '/dashboard/analysis',
name: 'DashboardAnalysis',
keepAlive: true,
locale: 'menu.dashboard.analysis',
},
{
id: 1,
parentId: null,
title: '仪表盘',
icon: 'DashboardOutlined',
component: 'RouteView',
redirect: '/dashboard/analysis',
path: '/dashboard',
name: 'Dashboard',
locale: 'menu.dashboard',
},
{
id: 3,
parentId: null,
title: '表单页',
icon: 'FormOutlined',
component: 'RouteView',
redirect: '/form/basic',
path: '/form',
name: 'Form',
locale: 'menu.form',
},
{
id: 5,
parentId: null,
title: '链接',
icon: 'LinkOutlined',
component: 'RouteView',
redirect: '/link/iframe',
path: '/link',
name: 'Link',
locale: 'menu.link',
},
{
id: 6,
parentId: 5,
title: 'AntDesign',
url: 'https://ant.design/',
component: 'Iframe',
path: '/link/iframe',
name: 'LinkIframe',
keepAlive: true,
locale: 'menu.link.iframe',
},
{
id: 7,
parentId: 5,
title: 'AntDesignVue',
url: 'https://antdv.com/',
component: 'Iframe',
path: '/link/antdv',
name: 'LinkAntdv',
keepAlive: true,
locale: 'menu.link.antdv',
},
{
id: 8,
parentId: 5,
path: 'https://www.baidu.com',
name: 'LinkExternal',
title: '跳转百度',
locale: 'menu.link.external',
},
{
id: 9,
parentId: null,
title: '菜单',
icon: 'BarsOutlined',
component: 'RouteView',
path: '/menu',
redirect: '/menu/menu1',
name: 'Menu',
locale: 'menu.menu',
},
{
id: 10,
parentId: 9,
title: '菜单1',
component: '/menu/menu1',
path: '/menu/menu1',
name: 'MenuMenu11',
keepAlive: true,
locale: 'menu.menu.menu1',
},
{
id: 11,
parentId: 9,
title: '菜单2',
component: '/menu/menu2',
path: '/menu/menu2',
keepAlive: true,
locale: 'menu.menu.menu2',
},
{
id: 12,
parentId: 9,
path: '/menu/menu3',
redirect: '/menu/menu3/menu1',
title: '菜单1-1',
component: 'RouteView',
locale: 'menu.menu.menu3',
},
{
id: 13,
parentId: 12,
path: '/menu/menu3/menu1',
component: '/menu/menu-1-1/menu1',
title: '菜单1-1-1',
keepAlive: true,
locale: 'menu.menu3.menu1',
},
{
id: 14,
parentId: 12,
path: '/menu/menu3/menu2',
component: '/menu/menu-1-1/menu2',
title: '菜单1-1-2',
keepAlive: true,
locale: 'menu.menu3.menu2',
},
{
id: 15,
path: '/access',
component: 'RouteView',
redirect: '/access/common',
title: '权限模块',
name: 'Access',
parentId: null,
icon: 'ClusterOutlined',
locale: 'menu.access',
},
{
id: 16,
parentId: 15,
path: '/access/common',
title: '通用权限',
name: 'AccessCommon',
component: '/access/common',
locale: 'menu.access.common',
},
{
id: 17,
parentId: 15,
path: '/access/user',
title: '普通用户',
name: 'AccessUser',
component: '/access/user',
locale: 'menu.access.user',
},
{
id: 19,
parentId: null,
title: '异常页',
icon: 'WarningOutlined',
component: 'RouteView',
redirect: '/exception/403',
path: '/exception',
name: 'Exception',
locale: 'menu.exception',
},
{
id: 20,
parentId: 19,
path: '/exception/403',
title: '403',
name: '403',
component: '/exception/403',
locale: 'menu.exception.not-permission',
},
{
id: 21,
parentId: 19,
path: '/exception/404',
title: '404',
name: '404',
component: '/exception/404',
locale: 'menu.exception.not-find',
},
{
id: 22,
parentId: 19,
path: '/exception/500',
title: '500',
name: '500',
component: '/exception/500',
locale: 'menu.exception.server-error',
},
{
id: 23,
parentId: null,
title: '结果页',
icon: 'CheckCircleOutlined',
component: 'RouteView',
redirect: '/result/success',
path: '/result',
name: 'Result',
locale: 'menu.result',
},
{
id: 24,
parentId: 23,
path: '/result/success',
title: '成功页',
name: 'ResultSuccess',
component: '/result/success',
locale: 'menu.result.success',
},
{
id: 25,
parentId: 23,
path: '/result/fail',
title: '失败页',
name: 'ResultFail',
component: '/result/fail',
locale: 'menu.result.fail',
},
{
id: 26,
parentId: null,
title: '列表页',
icon: 'TableOutlined',
component: 'RouteView',
redirect: '/list/card-list',
path: '/list',
name: 'List',
locale: 'menu.list',
},
{
id: 27,
parentId: 26,
path: '/list/card-list',
title: '卡片列表',
name: 'ListCard',
component: '/list/card-list',
locale: 'menu.list.card-list',
},
{
id: 28,
parentId: null,
title: '详情页',
icon: 'ProfileOutlined',
component: 'RouteView',
redirect: '/profile/basic',
path: '/profile',
name: 'Profile',
locale: 'menu.profile',
},
{
id: 29,
parentId: 28,
path: '/profile/basic',
title: '基础详情页',
name: 'ProfileBasic',
component: '/profile/basic/index',
locale: 'menu.profile.basic',
},
{
id: 30,
parentId: 26,
path: '/list/search-list',
title: '搜索列表',
name: 'SearchList',
component: '/list/search-list',
locale: 'menu.list.search-list',
},
{
id: 31,
parentId: 30,
path: '/list/search-list/articles',
title: '搜索列表(文章)',
name: 'SearchListArticles',
component: '/list/search-list/articles',
locale: 'menu.list.search-list.articles',
},
{
id: 32,
parentId: 30,
path: '/list/search-list/projects',
title: '搜索列表(项目)',
name: 'SearchListProjects',
component: '/list/search-list/projects',
locale: 'menu.list.search-list.projects',
},
{
id: 33,
parentId: 30,
path: '/list/search-list/applications',
title: '搜索列表(应用)',
name: 'SearchListApplications',
component: '/list/search-list/applications',
locale: 'menu.list.search-list.applications',
},
{
id: 34,
parentId: 26,
path: '/list/basic-list',
title: '标准列表',
name: 'BasicCard',
component: '/list/basic-list',
locale: 'menu.list.basic-list',
},
{
id: 35,
parentId: 28,
path: '/profile/advanced',
title: '高级详细页',
name: 'ProfileAdvanced',
component: '/profile/advanced/index',
locale: 'menu.profile.advanced',
},
{
id: 4,
parentId: 3,
title: '基础表单',
component: '/form/basic-form/index',
path: '/form/basic-form',
name: 'FormBasic',
keepAlive: false,
locale: 'menu.form.basic-form',
},
{
id: 36,
parentId: null,
title: '个人页',
icon: 'UserOutlined',
component: 'RouteView',
redirect: '/account/center',
path: '/account',
name: 'Account',
locale: 'menu.account',
},
{
id: 37,
parentId: 36,
path: '/account/center',
title: '个人中心',
name: 'AccountCenter',
component: '/account/center',
locale: 'menu.account.center',
},
{
id: 38,
parentId: 36,
path: '/account/settings',
title: '个人设置',
name: 'AccountSettings',
component: '/account/settings',
locale: 'menu.account.settings',
},
{
id: 39,
parentId: 3,
title: '分步表单',
component: '/form/step-form/index',
path: '/form/step-form',
name: 'FormStep',
keepAlive: false,
locale: 'menu.form.step-form',
},
{
id: 40,
parentId: 3,
title: '高级表单',
component: '/form/advanced-form/index',
path: '/form/advanced-form',
name: 'FormAdvanced',
keepAlive: false,
locale: 'menu.form.advanced-form',
},
{
id: 41,
parentId: 26,
path: '/list/table-list',
title: '查询表格',
name: 'ConsultTable',
component: '/list/table-list',
locale: 'menu.list.consult-table',
},
{
id: 42,
parentId: 1,
title: '监控页',
component: '/dashboard/monitor',
path: '/dashboard/monitor',
name: 'DashboardMonitor',
keepAlive: true,
locale: 'menu.dashboard.monitor',
},
{
id: 43,
parentId: 1,
title: '工作台',
component: '/dashboard/workplace',
path: '/dashboard/workplace',
name: 'DashboardWorkplace',
keepAlive: true,
locale: 'menu.dashboard.workplace',
},
{
id: 44,
parentId: 26,
path: '/list/crud-table',
title: '增删改查表格',
name: 'CrudTable',
component: '/list/crud-table',
locale: 'menu.list.crud-table',
},
{
id: 45,
parentId: 9,
path: '/menu/menu4',
redirect: '/menu/menu4/menu1',
title: '菜单2-1',
component: 'RouteView',
locale: 'menu.menu.menu4',
},
{
id: 46,
parentId: 45,
path: '/menu/menu4/menu1',
component: '/menu/menu-2-1/menu1',
title: '菜单2-1-1',
keepAlive: true,
locale: 'menu.menu4.menu1',
},
{
id: 47,
parentId: 45,
path: '/menu/menu4/menu2',
component: '/menu/menu-2-1/menu2',
title: '菜单2-1-2',
keepAlive: true,
locale: 'menu.menu4.menu2',
},
]
export const accessMenuData = [
{
id: 18,
parentId: 15,
path: '/access/admin',
title: '管理员',
name: 'AccessAdmin',
component: '/access/admin',
locale: 'menu.access.admin',
},
]
export default defineEventHandler((event) => {
const token = event.req.headers.get('Authorization')
// eslint-disable-next-line node/prefer-global/buffer
const username = Buffer.from(token as any, 'base64').toString('utf-8')
return {
code: 200,
msg: '获取成功',
data: [...menuData, ...(username === 'admin' ? accessMenuData : [])],
}
})