|
|
@@ -1,343 +0,0 @@
|
|
|
-// TODO:remove
|
|
|
-// import { createElement } from 'react';
|
|
|
-// import dynamic from 'dva/dynamic';
|
|
|
-// import pathToRegexp from 'path-to-regexp';
|
|
|
-// import { getMenuData } from './menu';
|
|
|
-
|
|
|
-// let routerDataCache;
|
|
|
-
|
|
|
-// 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,
|
|
|
-// });
|
|
|
-// });
|
|
|
-// },
|
|
|
-// });
|
|
|
-// };
|
|
|
-
|
|
|
-// 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 = {};
|
|
|
- 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 = () => {
|
|
|
- const routerConfig = {
|
|
|
- '/': {
|
|
|
- name: 'Ant-Design-Pro',
|
|
|
- },
|
|
|
- '/Dashboard/Analysis': {
|
|
|
- name: '分析页',
|
|
|
- },
|
|
|
- '/Dashboard/Monitor': {},
|
|
|
- '/Dashboard/Workplace': {
|
|
|
- // component: dynamicWrapper(app, ['project', 'activities', 'chart'], () => import('../routes/Dashboard/Workplace')),
|
|
|
- // hideInBreadcrumb: true,
|
|
|
- // name: '工作台',
|
|
|
- // authority: 'admin',
|
|
|
- },
|
|
|
- '/Forms/BasicForm': {},
|
|
|
- '/Forms/StepForm': {},
|
|
|
- '/Forms/StepForm/Step1': {
|
|
|
- name: '分步表单(填写转账信息)',
|
|
|
- },
|
|
|
- '/Forms/StepForm/Step2': {
|
|
|
- name: '分步表单(确认转账信息)',
|
|
|
- },
|
|
|
- '/Forms/StepForm/Step3': {
|
|
|
- name: '分步表单(完成)',
|
|
|
- },
|
|
|
- '/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, [], () => console.log('../routes/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,
|
|
|
- };
|
|
|
- routerData[path] = router;
|
|
|
- });
|
|
|
-
|
|
|
- return routerData;
|
|
|
-};
|