Files
lingji-work-fe/src/layouts/components/siderBar/menu-list.ts
rd d4f4619486 Merge remote-tracking branch 'origin/feature/0905_登录注册流程重构' into test
# Conflicts:
#	src/App.vue
#	src/layouts/components/siderBar/menu-list.ts
#	src/views/components/login/index.vue
2025-09-15 10:31:18 +08:00

182 lines
5.9 KiB
TypeScript

export const GROUP_WRITER_NAME = 'GroupWriterMaterialCenter';
export const GROUP_MANAGEMENT_NAME = 'GroupManagement';
export const GROUP_MAIN_NAME = 'GroupMain';
export interface typeMenuItem {
key?: string; // 菜单组key
label?: string; // 菜单组标题
icon?: string | [string, string]; // 菜单组图标
routeName?: string; // 路由名称
requireLogin?: boolean; // 是否需要登录
requireAuth?: boolean; // 是否需要权限验证
activeMatch?: string[]; // 菜单高亮路由组匹配
children?: typeMenuItem[]; // 子菜单列表
}
export const MENU_LIST = <Record<string, typeMenuItem[]>>{
[GROUP_MAIN_NAME]: [
{
key: 'ModAccountManage',
label: '账号管理',
icon: ['svg-accountManage', 'svg-accountManage-active'],
children: [
{
key: 'ModMediaAccountManage',
icon: 'svg-mediaAccountManage',
label: '账号管理',
routeName: 'MediaAccountAccountManagement',
requireLogin: true,
requireAuth: true,
activeMatch: ['MediaAccountAccountManagement'],
},
{
key: 'ModMediaAccountData',
icon: 'svg-mediaAccountData',
label: '账号数据',
routeName: 'MediaAccountAccountDashboard',
requireLogin: true,
requireAuth: true,
activeMatch: ['MediaAccountAccountDashboard', 'MediaAccountAccountDetails'],
},
// {
// key: 'ModPutAccountManage',
// icon: 'svg-putAccountManage',
// label: '账户管理',
// routeName: 'PutAccountAccountManagement',
// requireLogin: true,
// requireAuth: true,
// activeMatch: ['PutAccountAccountManagement'],
// },
// {
// key: 'ModPutAccountData',
// icon: 'svg-putAccountData',
// label: '账户数据',
// routeName: 'PutAccountAccountData',
// requireLogin: true,
// requireAuth: true,
// activeMatch: ['PutAccountAccountData'],
// },
// {
// key: 'ModPutAccountAccountDashboard',
// icon: 'svg-putAccountAccountDashboard',
// label: '投放表现分析',
// routeName: 'PutAccountAccountDashboard',
// requireLogin: true,
// requireAuth: true,
// activeMatch: ['PutAccountAccountDashboard'],
// },
// {
// key: 'ModInvestmentGuidelines',
// icon: 'svg-putAccountInvestmentGuidelines',
// label: '投放指南',
// routeName: 'PutAccountInvestmentGuidelines',
// requireLogin: true,
// requireAuth: true,
// activeMatch: ['PutAccountInvestmentGuidelines', 'PutAccountInvestmentGuidelinesDetail'],
// },
],
},
{
key: 'ModMaterialCenter',
label: '素材中心',
icon: ['svg-materialCenter', 'svg-materialCenter-active'],
children: [
{
key: 'ModMaterialCenterFinishedProductsWareHouse',
icon: 'svg-finishProductsWareHouse',
label: '成品库',
routeName: 'MaterialCenterFinishedProducts',
requireLogin: true,
requireAuth: true,
activeMatch: [
'MaterialCenterFinishedProducts',
'ManuscriptUpload',
'ManuscriptEdit',
'ManuscriptDetail',
'ManuscriptCheckListDetail',
'ManuscriptCheck',
],
},
{
key: 'ModMaterialCenterRawMaterialStorage',
icon: 'svg-rawMaterialStorage',
label: '原料库',
routeName: 'MaterialCenterRawMaterial',
requireLogin: true,
requireAuth: true,
activeMatch: ['MaterialCenterRawMaterial'],
},
],
},
{
key: 'assignmentManagement',
label: '任务管理',
icon: ['svg-taskManage', 'svg-taskManage-active'],
routeName: 'AssignmentManagement',
activeMatch: ['AssignmentManagement'],
},
],
[GROUP_WRITER_NAME]: [
{
key: 'ModWriterMaterialCenter',
label: '素材中心',
icon: 'svg-materialCenter',
children: [
{
key: 'ModWriterMaterialCenterFinishedProductsWareHouse',
icon: 'svg-finishProductsWareHouse',
label: '成品库',
routeName: 'WriterMaterialCenterFinishedProducts',
requireLogin: true,
requireAuth: true,
activeMatch: [
'WriterMaterialCenterFinishedProducts',
'WriterManuscriptUpload',
'WriterManuscriptEdit',
'WriterManuscriptDetail',
'WriterManuscriptCheckListDetail',
'WriterManuscriptCheck',
],
},
// {
// key: 'ModWriterMaterialCenterRawMaterialStorage',
// icon: 'svg-rawMaterialStorage',
// label: '原料库',
// routeName: 'WriterMaterialCenterRawMaterial',
// requireLogin: true,
// requireAuth: true,
// activeMatch: ['WriterMaterialCenterRawMaterial'],
// },
],
},
],
[GROUP_MANAGEMENT_NAME]: [
{
key: 'ModManagementPerson',
icon: ['svg-managementPerson', 'svg-managementPerson-active'],
label: '个人信息',
routeName: 'ManagementPerson',
requireLogin: true,
activeMatch: ['ManagementPerson'],
},
{
key: 'ModManagementEnterprise',
icon: ['svg-managementEnterprise', 'svg-managementEnterprise-active'],
label: '企业信息',
routeName: 'ManagementEnterprise',
requireLogin: true,
requireAuth: true,
activeMatch: ['ManagementEnterprise'],
},
{
key: 'ModManagementAccount',
icon: ['svg-managementAccount', 'svg-managementAccount-active'],
label: '账号管理',
routeName: 'ManagementAccount',
requireLogin: true,
requireAuth: true,
activeMatch: ['ManagementAccount'],
},
],
};