import { isUrl } from '../utils/utils'; const menuData = [ { name: 'dashboard', icon: 'dashboard', path: 'dashboard', children: [ { name: '分析页', path: 'analysis', }, { name: '监控页', path: 'monitor', }, { name: '工作台', path: 'workplace', // hideInBreadcrumb: true, // hideInMenu: true, }, ], }, { name: '表单页', icon: 'form', path: 'form', children: [ { name: '基础表单', path: 'basic-form', }, { name: '分步表单', path: 'step-form', }, { name: '高级表单', authority: 'admin', path: 'advanced-form', }, ], }, { name: '列表页', icon: 'table', path: 'list', children: [ { name: '查询表格', path: 'table-list', }, { name: '标准列表', path: 'basic-list', }, { name: '卡片列表', path: 'card-list', }, { name: '搜索列表', path: 'search', children: [ { name: '搜索列表(文章)', path: 'articles', }, { name: '搜索列表(项目)', path: 'projects', }, { name: '搜索列表(应用)', path: 'applications', }, ], }, ], }, { name: '详情页', icon: 'profile', path: 'profile', children: [ { name: '基础详情页', path: 'basic', }, { name: '高级详情页', path: 'advanced', authority: 'admin', }, ], }, { name: '结果页', icon: 'check-circle-o', path: 'result', children: [ { name: '成功', path: 'success', }, { name: '失败', path: 'fail', }, ], }, { name: '异常页', icon: 'warning', path: 'exception', children: [ { name: '403', path: '403', }, { name: '404', path: '404', }, { name: '500', path: '500', }, { name: '触发异常', path: 'trigger', hideInMenu: true, }, ], }, { name: '账户', icon: 'user', path: 'user', authority: 'guest', children: [ { name: '登录', path: 'login', }, { name: '注册', path: 'register', }, { name: '注册结果', path: 'register-result', }, ], }, ]; function formatter(data, parentPath = '/', parentAuthority) { return data.map(item => { let { path } = item; if (!isUrl(path)) { path = parentPath + item.path; } const result = { ...item, path, authority: item.authority || parentAuthority, }; if (item.children) { result.children = formatter(item.children, `${parentPath}${item.path}/`, item.authority); } return result; }); } export const getMenuData = () => formatter(menuData);