|
|
|
@ -1,58 +1,251 @@ |
|
|
|
import { createElement } from 'react'; |
|
|
|
import dynamic from 'dva/dynamic'; |
|
|
|
import pathToRegexp from 'path-to-regexp'; |
|
|
|
import { getMenuData } from './menu'; |
|
|
|
// TODO:remove
|
|
|
|
// import { createElement } from 'react';
|
|
|
|
// import dynamic from 'dva/dynamic';
|
|
|
|
// import pathToRegexp from 'path-to-regexp';
|
|
|
|
// import { getMenuData } from './menu';
|
|
|
|
|
|
|
|
let routerDataCache; |
|
|
|
// let routerDataCache;
|
|
|
|
|
|
|
|
const modelNotExisted = (app, model) => |
|
|
|
// eslint-disable-next-line
|
|
|
|
!app._models.some(({ namespace }) => { |
|
|
|
return namespace === model.substring(model.lastIndexOf('/') + 1); |
|
|
|
}); |
|
|
|
// const modelNotExisted = (app, model) =>
|
|
|
|
// // eslint-disable-next-line
|
|
|
|
// !app._models.some(({ namespace }) => {
|
|
|
|
// return namespace === model.substring(model.lastIndexOf('/') + 1);
|
|
|
|
// });
|
|
|
|
|
|
|
|
// wrapper of dynamic
|
|
|
|
const dynamicWrapper = (app, models, component) => { |
|
|
|
// () => require('module')
|
|
|
|
// transformed by babel-plugin-dynamic-import-node-sync
|
|
|
|
if (component.toString().indexOf('.then(') < 0) { |
|
|
|
models.forEach(model => { |
|
|
|
if (modelNotExisted(app, model)) { |
|
|
|
// eslint-disable-next-line
|
|
|
|
app.model(require(`../models/${model}`).default); |
|
|
|
} |
|
|
|
}); |
|
|
|
return props => { |
|
|
|
if (!routerDataCache) { |
|
|
|
routerDataCache = getRouterData(app); |
|
|
|
} |
|
|
|
return createElement(component().default, { |
|
|
|
...props, |
|
|
|
routerData: routerDataCache, |
|
|
|
}); |
|
|
|
}; |
|
|
|
} |
|
|
|
// () => import('module')
|
|
|
|
return dynamic({ |
|
|
|
app, |
|
|
|
models: () => |
|
|
|
models.filter(model => modelNotExisted(app, model)).map(m => import(`../models/${m}.js`)), |
|
|
|
// add routerData prop
|
|
|
|
component: () => { |
|
|
|
if (!routerDataCache) { |
|
|
|
routerDataCache = getRouterData(app); |
|
|
|
} |
|
|
|
return component().then(raw => { |
|
|
|
const Component = raw.default || raw; |
|
|
|
return props => |
|
|
|
createElement(Component, { |
|
|
|
...props, |
|
|
|
routerData: routerDataCache, |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}); |
|
|
|
}; |
|
|
|
// // wrapper of dynamic
|
|
|
|
// const dynamicWrapper = (app, models, component) => {
|
|
|
|
// // () => require('module')
|
|
|
|
// // transformed by babel-plugin-dynamic-import-node-sync
|
|
|
|
// if (component.toString().indexOf('.then(') < 0) {
|
|
|
|
// models.forEach(model => {
|
|
|
|
// if (modelNotExisted(app, model)) {
|
|
|
|
// // eslint-disable-next-line
|
|
|
|
// app.model(require(`../models/${model}`).default);
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// return props => {
|
|
|
|
// if (!routerDataCache) {
|
|
|
|
// routerDataCache = getRouterData(app);
|
|
|
|
// }
|
|
|
|
// return createElement(component().default, {
|
|
|
|
// ...props,
|
|
|
|
// routerData: routerDataCache,
|
|
|
|
// });
|
|
|
|
// };
|
|
|
|
// }
|
|
|
|
// // () => import('module')
|
|
|
|
// return dynamic({
|
|
|
|
// app,
|
|
|
|
// models: () =>
|
|
|
|
// models.filter(model => modelNotExisted(app, model)).map(m => import(`../models/${m}.js`)),
|
|
|
|
// // add routerData prop
|
|
|
|
// component: () => {
|
|
|
|
// if (!routerDataCache) {
|
|
|
|
// routerDataCache = getRouterData(app);
|
|
|
|
// }
|
|
|
|
// return component().then(raw => {
|
|
|
|
// const Component = raw.default || raw;
|
|
|
|
// return props =>
|
|
|
|
// createElement(Component, {
|
|
|
|
// ...props,
|
|
|
|
// routerData: routerDataCache,
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// });
|
|
|
|
// };
|
|
|
|
|
|
|
|
// function getFlatMenuData(menus) {
|
|
|
|
// let keys = {};
|
|
|
|
// menus.forEach(item => {
|
|
|
|
// if (item.children) {
|
|
|
|
// keys[item.path] = { ...item };
|
|
|
|
// keys = { ...keys, ...getFlatMenuData(item.children) };
|
|
|
|
// } else {
|
|
|
|
// keys[item.path] = { ...item };
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// return keys;
|
|
|
|
// }
|
|
|
|
|
|
|
|
// export const getRouterData = app => {
|
|
|
|
// const routerConfig = {
|
|
|
|
// '/': {
|
|
|
|
// component: dynamicWrapper(app, ['user', 'login', 'setting'], () =>
|
|
|
|
// import('../layouts/LoadingPage')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/dashboard/analysis': {
|
|
|
|
// component: dynamicWrapper(app, ['chart'], () => import('../pages/Dashboard/Analysis')),
|
|
|
|
// },
|
|
|
|
// '/dashboard/monitor': {
|
|
|
|
// component: dynamicWrapper(app, ['monitor'], () => import('../pages/Dashboard/Monitor')),
|
|
|
|
// },
|
|
|
|
// '/dashboard/workplace': {
|
|
|
|
// component: dynamicWrapper(app, ['user', 'project', 'activities', 'chart'], () =>
|
|
|
|
// import('../pages/Dashboard/Workplace')
|
|
|
|
// ),
|
|
|
|
// // hideInBreadcrumb: true,
|
|
|
|
// // name: '工作台',
|
|
|
|
// // authority: 'admin',
|
|
|
|
// },
|
|
|
|
// '/form/basic-form': {
|
|
|
|
// component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/BasicForm')),
|
|
|
|
// },
|
|
|
|
// '/form/step-form': {
|
|
|
|
// component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm')),
|
|
|
|
// },
|
|
|
|
// '/form/step-form/info': {
|
|
|
|
// name: '分步表单(填写转账信息)',
|
|
|
|
// component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm/Step1')),
|
|
|
|
// },
|
|
|
|
// '/form/step-form/confirm': {
|
|
|
|
// name: '分步表单(确认转账信息)',
|
|
|
|
// component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm/Step2')),
|
|
|
|
// },
|
|
|
|
// '/form/step-form/result': {
|
|
|
|
// name: '分步表单(完成)',
|
|
|
|
// component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm/Step3')),
|
|
|
|
// },
|
|
|
|
// '/form/advanced-form': {
|
|
|
|
// component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/AdvancedForm')),
|
|
|
|
// },
|
|
|
|
// '/list/table-list': {
|
|
|
|
// component: dynamicWrapper(app, ['rule'], () => import('../pages/List/TableList')),
|
|
|
|
// },
|
|
|
|
// '/list/basic-list': {
|
|
|
|
// component: dynamicWrapper(app, ['list'], () => import('../pages/List/BasicList')),
|
|
|
|
// },
|
|
|
|
// '/list/card-list': {
|
|
|
|
// component: dynamicWrapper(app, ['list'], () => import('../pages/List/CardList')),
|
|
|
|
// },
|
|
|
|
// '/list/search': {
|
|
|
|
// component: dynamicWrapper(app, ['list'], () => import('../pages/List/List')),
|
|
|
|
// },
|
|
|
|
// '/list/search/projects': {
|
|
|
|
// component: dynamicWrapper(app, ['list'], () => import('../pages/List/Projects')),
|
|
|
|
// },
|
|
|
|
// '/list/search/applications': {
|
|
|
|
// component: dynamicWrapper(app, ['list'], () => import('../pages/List/Applications')),
|
|
|
|
// },
|
|
|
|
// '/list/search/articles': {
|
|
|
|
// component: dynamicWrapper(app, ['list'], () => import('../pages/List/Articles')),
|
|
|
|
// },
|
|
|
|
// '/profile/basic': {
|
|
|
|
// component: dynamicWrapper(app, ['profile'], () => import('../pages/Profile/BasicProfile')),
|
|
|
|
// },
|
|
|
|
// '/profile/advanced': {
|
|
|
|
// component: dynamicWrapper(app, ['profile'], () => import('../pages/Profile/AdvancedProfile')),
|
|
|
|
// },
|
|
|
|
// '/result/success': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Result/Success')),
|
|
|
|
// },
|
|
|
|
// '/result/fail': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Result/Error')),
|
|
|
|
// },
|
|
|
|
// '/exception/403': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Exception/403')),
|
|
|
|
// },
|
|
|
|
// '/exception/404': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Exception/404')),
|
|
|
|
// },
|
|
|
|
// '/exception/500': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Exception/500')),
|
|
|
|
// },
|
|
|
|
// '/exception/trigger': {
|
|
|
|
// component: dynamicWrapper(app, ['error'], () =>
|
|
|
|
// import('../pages/Exception/triggerException')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/user': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../layouts/UserLayout')),
|
|
|
|
// },
|
|
|
|
// '/user/login': {
|
|
|
|
// component: dynamicWrapper(app, ['login'], () => import('../pages/User/Login')),
|
|
|
|
// },
|
|
|
|
// '/user/register': {
|
|
|
|
// component: dynamicWrapper(app, ['register'], () => import('../pages/User/Register')),
|
|
|
|
// },
|
|
|
|
// '/user/register-result': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/User/RegisterResult')),
|
|
|
|
// },
|
|
|
|
// '/account/center': {
|
|
|
|
// component: dynamicWrapper(app, ['list', 'user', 'project'], () =>
|
|
|
|
// import('../pages/Account/Center/Center')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/account/center/articles': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Account/Center/Articles')),
|
|
|
|
// },
|
|
|
|
// '/account/center/applications': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Account/Center/Applications')),
|
|
|
|
// },
|
|
|
|
// '/account/center/projects': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/Account/Center/Projects')),
|
|
|
|
// },
|
|
|
|
// '/account/settings': {
|
|
|
|
// component: dynamicWrapper(app, ['geographic'], () =>
|
|
|
|
// import('../pages/Account/Settings/Info')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/account/settings/base': {
|
|
|
|
// component: dynamicWrapper(app, ['geographic'], () =>
|
|
|
|
// import('../pages/Account/Settings/BaseView')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/account/settings/security': {
|
|
|
|
// component: dynamicWrapper(app, ['geographic'], () =>
|
|
|
|
// import('../pages/Account/Settings/SecurityView')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/account/settings/binding': {
|
|
|
|
// component: dynamicWrapper(app, ['geographic'], () =>
|
|
|
|
// import('../pages/Account/Settings/BindingView')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// '/account/settings/notification': {
|
|
|
|
// component: dynamicWrapper(app, ['geographic'], () =>
|
|
|
|
// import('../pages/Account/Settings/NotificationView')
|
|
|
|
// ),
|
|
|
|
// },
|
|
|
|
// // '/user/:id': {
|
|
|
|
// // component: dynamicWrapper(app, [], () => import('../pages/User/SomeComponent')),
|
|
|
|
// // },
|
|
|
|
// };
|
|
|
|
// // Get name from ./menu.js or just set it in the router data.
|
|
|
|
// const menuData = getFlatMenuData(getMenuData());
|
|
|
|
|
|
|
|
// // Route configuration data
|
|
|
|
// // eg. {name,authority ...routerConfig }
|
|
|
|
// const routerData = {};
|
|
|
|
// // The route matches the menu
|
|
|
|
// Object.keys(routerConfig).forEach(path => {
|
|
|
|
// // Regular match item name
|
|
|
|
// // eg. router /user/:id === /user/chen
|
|
|
|
// const pathRegexp = pathToRegexp(path);
|
|
|
|
// const menuKey = Object.keys(menuData).find(key => pathRegexp.test(`${key}`));
|
|
|
|
// let menuItem = {};
|
|
|
|
// // If menuKey is not empty
|
|
|
|
// if (menuKey) {
|
|
|
|
// menuItem = menuData[menuKey];
|
|
|
|
// }
|
|
|
|
// let router = routerConfig[path];
|
|
|
|
// // If you need to configure complex parameter routing,
|
|
|
|
// // https://github.com/ant-design/ant-design-pro-site/blob/master/docs/router-and-nav.md#%E5%B8%A6%E5%8F%82%E6%95%B0%E7%9A%84%E8%B7%AF%E7%94%B1%E8%8F%9C%E5%8D%95
|
|
|
|
// // eg . /list/:type/user/info/:id
|
|
|
|
// router = {
|
|
|
|
// ...router,
|
|
|
|
// name: router.name || menuItem.name,
|
|
|
|
// authority: router.authority || menuItem.authority,
|
|
|
|
// hideInBreadcrumb: router.hideInBreadcrumb || menuItem.hideInBreadcrumb,
|
|
|
|
// };
|
|
|
|
// routerData[path] = router;
|
|
|
|
// });
|
|
|
|
// return routerData;
|
|
|
|
// };
|
|
|
|
|
|
|
|
import pathToRegexp from 'path-to-regexp'; |
|
|
|
import { getMenuData } from './menu'; |
|
|
|
|
|
|
|
function getFlatMenuData(menus) { |
|
|
|
let keys = {}; |
|
|
|
@ -67,148 +260,54 @@ function getFlatMenuData(menus) { |
|
|
|
return keys; |
|
|
|
} |
|
|
|
|
|
|
|
export const getRouterData = app => { |
|
|
|
export const getRouterData = () => { |
|
|
|
const routerConfig = { |
|
|
|
'/': { |
|
|
|
component: dynamicWrapper(app, ['user', 'login', 'setting'], () => |
|
|
|
import('../layouts/LoadingPage') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/dashboard/analysis': { |
|
|
|
component: dynamicWrapper(app, ['chart'], () => import('../pages/Dashboard/Analysis')), |
|
|
|
name: 'Ant-Design-Pro', |
|
|
|
}, |
|
|
|
'/dashboard/monitor': { |
|
|
|
component: dynamicWrapper(app, ['monitor'], () => import('../pages/Dashboard/Monitor')), |
|
|
|
'/Dashboard/Analysis': { |
|
|
|
name: '分析页', |
|
|
|
}, |
|
|
|
'/dashboard/workplace': { |
|
|
|
component: dynamicWrapper(app, ['user', 'project', 'activities', 'chart'], () => |
|
|
|
import('../pages/Dashboard/Workplace') |
|
|
|
), |
|
|
|
'/Dashboard/Monitor': {}, |
|
|
|
'/Dashboard/Workplace': { |
|
|
|
// component: dynamicWrapper(app, ['project', 'activities', 'chart'], () => import('../routes/Dashboard/Workplace')),
|
|
|
|
// hideInBreadcrumb: true,
|
|
|
|
// name: '工作台',
|
|
|
|
// authority: 'admin',
|
|
|
|
}, |
|
|
|
'/form/basic-form': { |
|
|
|
component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/BasicForm')), |
|
|
|
}, |
|
|
|
'/form/step-form': { |
|
|
|
component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm')), |
|
|
|
}, |
|
|
|
'/form/step-form/info': { |
|
|
|
'/Forms/BasicForm': {}, |
|
|
|
'/Forms/StepForm': {}, |
|
|
|
'/Forms/StepForm/Step1': { |
|
|
|
name: '分步表单(填写转账信息)', |
|
|
|
component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm/Step1')), |
|
|
|
}, |
|
|
|
'/form/step-form/confirm': { |
|
|
|
'/Forms/StepForm/Step2': { |
|
|
|
name: '分步表单(确认转账信息)', |
|
|
|
component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm/Step2')), |
|
|
|
}, |
|
|
|
'/form/step-form/result': { |
|
|
|
'/Forms/StepForm/Step3': { |
|
|
|
name: '分步表单(完成)', |
|
|
|
component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/StepForm/Step3')), |
|
|
|
}, |
|
|
|
'/form/advanced-form': { |
|
|
|
component: dynamicWrapper(app, ['form'], () => import('../pages/Forms/AdvancedForm')), |
|
|
|
}, |
|
|
|
'/list/table-list': { |
|
|
|
component: dynamicWrapper(app, ['rule'], () => import('../pages/List/TableList')), |
|
|
|
}, |
|
|
|
'/list/basic-list': { |
|
|
|
component: dynamicWrapper(app, ['list'], () => import('../pages/List/BasicList')), |
|
|
|
}, |
|
|
|
'/list/card-list': { |
|
|
|
component: dynamicWrapper(app, ['list'], () => import('../pages/List/CardList')), |
|
|
|
}, |
|
|
|
'/list/search': { |
|
|
|
component: dynamicWrapper(app, ['list'], () => import('../pages/List/List')), |
|
|
|
}, |
|
|
|
'/list/search/projects': { |
|
|
|
component: dynamicWrapper(app, ['list'], () => import('../pages/List/Projects')), |
|
|
|
}, |
|
|
|
'/list/search/applications': { |
|
|
|
component: dynamicWrapper(app, ['list'], () => import('../pages/List/Applications')), |
|
|
|
}, |
|
|
|
'/list/search/articles': { |
|
|
|
component: dynamicWrapper(app, ['list'], () => import('../pages/List/Articles')), |
|
|
|
}, |
|
|
|
'/profile/basic': { |
|
|
|
component: dynamicWrapper(app, ['profile'], () => import('../pages/Profile/BasicProfile')), |
|
|
|
}, |
|
|
|
'/profile/advanced': { |
|
|
|
component: dynamicWrapper(app, ['profile'], () => import('../pages/Profile/AdvancedProfile')), |
|
|
|
}, |
|
|
|
'/result/success': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Result/Success')), |
|
|
|
}, |
|
|
|
'/result/fail': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Result/Error')), |
|
|
|
}, |
|
|
|
'/exception/403': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Exception/403')), |
|
|
|
}, |
|
|
|
'/exception/404': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Exception/404')), |
|
|
|
}, |
|
|
|
'/exception/500': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Exception/500')), |
|
|
|
}, |
|
|
|
'/exception/trigger': { |
|
|
|
component: dynamicWrapper(app, ['error'], () => |
|
|
|
import('../pages/Exception/triggerException') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/user': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../layouts/UserLayout')), |
|
|
|
}, |
|
|
|
'/user/login': { |
|
|
|
component: dynamicWrapper(app, ['login'], () => import('../pages/User/Login')), |
|
|
|
}, |
|
|
|
'/user/register': { |
|
|
|
component: dynamicWrapper(app, ['register'], () => import('../pages/User/Register')), |
|
|
|
}, |
|
|
|
'/user/register-result': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/User/RegisterResult')), |
|
|
|
}, |
|
|
|
'/account/center': { |
|
|
|
component: dynamicWrapper(app, ['list', 'user', 'project'], () => |
|
|
|
import('../pages/Account/Center/Center') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/account/center/articles': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Account/Center/Articles')), |
|
|
|
}, |
|
|
|
'/account/center/applications': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Account/Center/Applications')), |
|
|
|
}, |
|
|
|
'/account/center/projects': { |
|
|
|
component: dynamicWrapper(app, [], () => import('../pages/Account/Center/Projects')), |
|
|
|
}, |
|
|
|
'/account/settings': { |
|
|
|
component: dynamicWrapper(app, ['geographic'], () => |
|
|
|
import('../pages/Account/Settings/Info') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/account/settings/base': { |
|
|
|
component: dynamicWrapper(app, ['geographic'], () => |
|
|
|
import('../pages/Account/Settings/BaseView') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/account/settings/security': { |
|
|
|
component: dynamicWrapper(app, ['geographic'], () => |
|
|
|
import('../pages/Account/Settings/SecurityView') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/account/settings/binding': { |
|
|
|
component: dynamicWrapper(app, ['geographic'], () => |
|
|
|
import('../pages/Account/Settings/BindingView') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/account/settings/notification': { |
|
|
|
component: dynamicWrapper(app, ['geographic'], () => |
|
|
|
import('../pages/Account/Settings/NotificationView') |
|
|
|
), |
|
|
|
}, |
|
|
|
'/Forms/AdvancedForm': {}, |
|
|
|
'/List/TableList': {}, |
|
|
|
'/List/BasicList': {}, |
|
|
|
'/List/CardList': {}, |
|
|
|
'/List': {}, |
|
|
|
'/List/Search/Projects': {}, |
|
|
|
'/List/Search/Applications': {}, |
|
|
|
'/List/Search/Articles': {}, |
|
|
|
'/Profile/BasicProfile': {}, |
|
|
|
'/Profile/AdvancedProfile': {}, |
|
|
|
'/Result/success': {}, |
|
|
|
'/Result/Error': {}, |
|
|
|
'/Exception/403': {}, |
|
|
|
'/Exception/404': {}, |
|
|
|
'/Exception/500': {}, |
|
|
|
'/Exception/triggerException': {}, |
|
|
|
'/User': {}, |
|
|
|
'/User/Login': {}, |
|
|
|
'/User/Register': {}, |
|
|
|
'/User/RegisterResult': {}, |
|
|
|
// '/user/:id': {
|
|
|
|
// component: dynamicWrapper(app, [], () => import('../pages/User/SomeComponent')),
|
|
|
|
// component: dynamicWrapper(app, [], () => console.log('../routes/User/SomeComponent')),
|
|
|
|
// },
|
|
|
|
}; |
|
|
|
// Get name from ./menu.js or just set it in the router data.
|
|
|
|
@ -236,9 +335,9 @@ export const getRouterData = app => { |
|
|
|
...router, |
|
|
|
name: router.name || menuItem.name, |
|
|
|
authority: router.authority || menuItem.authority, |
|
|
|
hideInBreadcrumb: router.hideInBreadcrumb || menuItem.hideInBreadcrumb, |
|
|
|
}; |
|
|
|
routerData[path] = router; |
|
|
|
}); |
|
|
|
|
|
|
|
return routerData; |
|
|
|
}; |
|
|
|
|