menu.js 2.5 KB
Newer Older
ddcat1115's avatar
ddcat1115 committed
1
const menuData = [{
Arun Kumar T K's avatar
Arun Kumar T K committed
2
  name: 'dashboard',
ddcat1115's avatar
ddcat1115 committed
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
  icon: 'dashboard',
  path: 'dashboard',
  children: [{
    name: '分析页',
    path: 'analysis',
  }, {
    name: '监控页',
    path: 'monitor',
  }, {
    name: '工作台',
    path: 'workplace',
    // hideInMenu: true,
  }],
}, {
  name: '表单页',
  icon: 'form',
  path: 'form',
  children: [{
    name: '基础表单',
    path: 'basic-form',
  }, {
    name: '分步表单',
    path: 'step-form',
  }, {
    name: '高级表单',
ddcat1115's avatar
ddcat1115 committed
28
    authority: 'admin',
ddcat1115's avatar
ddcat1115 committed
29 30 31 32 33 34 35
    path: 'advanced-form',
  }],
}, {
  name: '列表页',
  icon: 'table',
  path: 'list',
  children: [{
陈帅's avatar
陈帅 committed
36 37 38 39 40 41 42 43 44
    name: '查询表格',
    path: 'table-list',
  }, {
    name: '标准列表',
    path: 'basic-list',
  }, {
    name: '卡片列表',
    path: 'card-list',
  }, {
ddcat1115's avatar
ddcat1115 committed
45 46 47
    name: '搜索列表',
    path: 'search',
    children: [{
陈帅's avatar
陈帅 committed
48 49 50
      name: '搜索列表(文章)',
      path: 'articles',
    }, {
ddcat1115's avatar
ddcat1115 committed
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
      name: '搜索列表(项目)',
      path: 'projects',
    }, {
      name: '搜索列表(应用)',
      path: 'applications',
    }],
  }],
}, {
  name: '详情页',
  icon: 'profile',
  path: 'profile',
  children: [{
    name: '基础详情页',
    path: 'basic',
  }, {
    name: '高级详情页',
    path: 'advanced',
ddcat1115's avatar
ddcat1115 committed
68
    authority: 'admin',
ddcat1115's avatar
ddcat1115 committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
  }],
}, {
  name: '结果页',
  icon: 'check-circle-o',
  path: 'result',
  children: [{
    name: '成功',
    path: 'success',
  }, {
    name: '失败',
    path: 'fail',
  }],
}, {
  name: '异常页',
  icon: 'warning',
  path: 'exception',
  children: [{
    name: '403',
    path: '403',
ddcat1115's avatar
ddcat1115 committed
88
    authority: 'user',
ddcat1115's avatar
ddcat1115 committed
89 90 91 92 93 94
  }, {
    name: '404',
    path: '404',
  }, {
    name: '500',
    path: '500',
陈帅's avatar
陈帅 committed
95 96 97
  }, {
    name: '触发异常',
    path: 'trigger',
ddcat1115's avatar
ddcat1115 committed
98 99 100 101 102
  }],
}, {
  name: '账户',
  icon: 'user',
  path: 'user',
ddcat1115's avatar
ddcat1115 committed
103
  authority: 'guest',
ddcat1115's avatar
ddcat1115 committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
  children: [{
    name: '登录',
    path: 'login',
  }, {
    name: '注册',
    path: 'register',
  }, {
    name: '注册结果',
    path: 'register-result',
  }],
}, {
  name: '使用文档',
  icon: 'book',
  path: 'http://pro.ant.design/docs/getting-started',
  target: '_blank',
}];

ddcat1115's avatar
ddcat1115 committed
121
function formatter(data, parentPath = '', parentAuthority) {
afc163's avatar
afc163 committed
122 123 124 125
  return data.map((item) => {
    const result = {
      ...item,
      path: `${parentPath}${item.path}`,
ddcat1115's avatar
ddcat1115 committed
126
      authority: item.authority || parentAuthority,
afc163's avatar
afc163 committed
127
    };
ddcat1115's avatar
ddcat1115 committed
128
    if (item.children) {
ddcat1115's avatar
ddcat1115 committed
129
      result.children = formatter(item.children, `${parentPath}${item.path}/`, item.authority);
ddcat1115's avatar
ddcat1115 committed
130
    }
afc163's avatar
afc163 committed
131
    return result;
ddcat1115's avatar
ddcat1115 committed
132 133 134 135
  });
}

export const getMenuData = () => formatter(menuData);