|  |  |  | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const rootMenu = { routes: [], children: [] } | 
|---|
|  |  |  | addMapMenu(remoteMenu) | 
|---|
|  |  |  | addHomeMenu(remoteMenu); | 
|---|
|  |  |  | addUserSettingMenu(remoteMenu); | 
|---|
|  |  |  | patchRouteItems(proLayout, remoteMenu); | 
|---|
|  |  |  | patchRouteItems(rootMenu, remoteMenu); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | proLayout.children = proLayout.children.concat(rootMenu.children); | 
|---|
|  |  |  | proLayout.routes = proLayout.routes.concat(rootMenu.routes); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function patchRouteItems(parent, children) { | 
|---|
|  |  |  | for (const menu of children) { | 
|---|
|  |  |  | if (menu.component !== null && menu.component !== undefined) { | 
|---|
|  |  |  | // children | 
|---|
|  |  |  | const Component = require(`@/pages${menu.path}/index.jsx`).default | 
|---|
|  |  |  | const newRoute = { | 
|---|
|  |  |  | name: menu.name, | 
|---|
|  |  |  | path: menu.path, | 
|---|
|  |  |  | element: <Component />, | 
|---|
|  |  |  | let Component; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Component = require(`@/pages${menu.path}/index.jsx`).default | 
|---|
|  |  |  | } catch (error) { | 
|---|
|  |  |  | console.error('An error has occurred: ', error); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parent.children.push(newRoute); | 
|---|
|  |  |  | parent.routes.push(newRoute); | 
|---|
|  |  |  | if (Component) { | 
|---|
|  |  |  | const newRoute = { | 
|---|
|  |  |  | name: menu.name, | 
|---|
|  |  |  | path: menu.path, | 
|---|
|  |  |  | element: <Component />, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parent.routes.push(newRoute); | 
|---|
|  |  |  | parent.children.push(newRoute); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // parent | 
|---|
|  |  |  | const newRoute = { | 
|---|
|  |  |  | 
|---|
|  |  |  | children: [], | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parent.routes.push(newRoute); | 
|---|
|  |  |  | parent.children.push(newRoute); | 
|---|
|  |  |  | if (menu.routes && menu.routes.length > 0) { | 
|---|
|  |  |  | for (const route of menu.routes) { | 
|---|
|  |  |  | patchRouteItems(newRoute, [route]); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function addMapMenu(remoteMenu) { | 
|---|
|  |  |  | remoteMenu.unshift({ | 
|---|
|  |  |  | name: "地图监控", | 
|---|
|  |  |  | path: "/map", | 
|---|
|  |  |  | component: "/map", | 
|---|
|  |  |  | icon: createIcon('HeatMapOutlined') | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function addHomeMenu(remoteMenu) { | 
|---|
|  |  |  | remoteMenu.unshift({ | 
|---|
|  |  |  | name: "首页", | 
|---|