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 = (menuData) => formatter(menuData);