From c2b88a03f3d0d5ebe92949e64d17ee4d0ac3f6b7 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 09 九月 2025 15:14:00 +0800
Subject: [PATCH] 发货清空缓存站点
---
zy-asrs-flow/src/services/route.js | 264 +++++++++++++++++++++++++++-------------------------
1 files changed, 135 insertions(+), 129 deletions(-)
diff --git a/zy-asrs-flow/src/services/route.js b/zy-asrs-flow/src/services/route.js
index 4ba1bb7..08d02a4 100644
--- a/zy-asrs-flow/src/services/route.js
+++ b/zy-asrs-flow/src/services/route.js
@@ -1,130 +1,136 @@
-import { request } from '@umijs/max';
-import React from 'react';
-import { createIcon } from '@/utils/icon-util';
-
-let remoteMenu = null;
-
-export function getRemoteMenu() {
- return remoteMenu;
-}
-
-export function setRemoteMenu(data) {
- remoteMenu = data;
-}
-
-export async function getUserInfo(options) {
- return request('/api/auth/user', {
- method: 'GET',
- ...(options || {}),
- });
-}
-
-export async function getRouters() {
- return request('/api/auth/menu', {
- });
-}
-
-export async function getRoutersInfo() {
- return getRouters().then((res) => {
- if (res.code === 200) {
- // return res.data;
- const routersInfo = convertCompatRouters(res.data);
- return routersInfo;
- } else {
- return [];
- }
- });
-}
-
-export function convertCompatRouters(childrens) {
- const result = childrens.map((item) => {
- return {
- name: item.name,
- path: item.route,
- component: item.component ? '.' + item.component : null,
- icon: createIcon(item.icon),
- // icon: item.icon,
- // hideChildrenInMenu: item.hidden,
- // hideInMenu: item.hidden,
- // authority: item.perms,
- routes: item.children ? convertCompatRouters(item.children) : undefined,
- };
- });
- return result;
-}
-
-export function patchRouteWithRemoteMenus(routes) {
- if (remoteMenu === null) { return; }
- let proLayout = null;
- for (const routeItem of routes) {
- if (routeItem.id === 'ant-design-pro-layout') {
- proLayout = routeItem;
- break;
- }
- }
- addHomeMenu(remoteMenu);
- addUserSettingMenu(remoteMenu);
- patchRouteItems(proLayout, remoteMenu);
-}
-
-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 />,
- }
- parent.children.push(newRoute);
- parent.routes.push(newRoute);
- } else {
- // parent
- const newRoute = {
- name: menu.name,
- path: menu.path,
- routes: [],
- children: [],
- }
- parent.routes.push(newRoute);
- if (menu.routes && menu.routes.length > 0) {
- for (const route of menu.routes) {
- patchRouteItems(newRoute, [route]);
- };
-
- }
- }
- }
-}
-
-function addHomeMenu(remoteMenu) {
- remoteMenu.unshift({
- name: "棣栭〉",
- path: "/home",
- component: "/home",
- icon: createIcon('HomeOutlined')
- })
-}
-
-function addUserSettingMenu(remoteMenu) {
- // const settingRoute = {
- // name: "涓汉璁剧疆",
- // path: "/account/setting",
- // component: "/account/setting"
- // }
- // remoteMenu.push({
- // name: "涓汉涓績",
- // path: "/account",
- // component: null,
- // routes: [settingRoute],
- // icon: createIcon('UserOutlined')
- // })
-
- remoteMenu.push({
- name: "涓汉涓績",
- path: "/account/setting",
- component: "/account/setting",
- icon: createIcon('UserOutlined')
- })
+import { request } from '@umijs/max';
+import React from 'react';
+import { createIcon } from '@/utils/icon-util';
+
+let remoteMenu = null;
+
+export function getRemoteMenu() {
+ return remoteMenu;
+}
+
+export function setRemoteMenu(data) {
+ remoteMenu = data;
+}
+
+export async function getUserInfo(options) {
+ return request('/api/auth/user', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+export async function getRouters() {
+ return request('/api/auth/menu', {
+ });
+}
+
+export async function getRoutersInfo() {
+ return getRouters().then((res) => {
+ if (res.code === 200) {
+ // return res.data;
+ const routersInfo = convertCompatRouters(res.data);
+ return routersInfo;
+ } else {
+ return [];
+ }
+ });
+}
+
+export function convertCompatRouters(childrens) {
+ const result = childrens.map((item) => {
+ return {
+ name: item.name,
+ path: item.route,
+ component: item.component ? '.' + item.component : null,
+ icon: createIcon(item.icon),
+ // icon: item.icon,
+ // hideChildrenInMenu: item.hidden,
+ // hideInMenu: item.hidden,
+ // authority: item.perms,
+ routes: item.children ? convertCompatRouters(item.children) : undefined,
+ };
+ });
+ return result;
+}
+
+export function patchRouteWithRemoteMenus(routes) {
+ if (remoteMenu === null) { return; }
+ let proLayout = null;
+ for (const routeItem of routes) {
+ if (routeItem.id === 'ant-design-pro-layout') {
+ proLayout = routeItem;
+ break;
+ }
+ }
+
+ const rootMenu = { routes: [], children: [] }
+ addHomeMenu(remoteMenu);
+ addUserSettingMenu(remoteMenu);
+ patchRouteItems(rootMenu, remoteMenu);
+
+ proLayout.children = proLayout.children.concat(rootMenu.routes);
+ 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 />,
+ }
+ parent.routes.push(newRoute);
+ parent.children.push(newRoute);
+ } else {
+ // parent
+ const newRoute = {
+ name: menu.name,
+ path: menu.path,
+ routes: [],
+ 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 addHomeMenu(remoteMenu) {
+ remoteMenu.unshift({
+ name: "棣栭〉",
+ path: "/home",
+ component: "/home",
+ icon: createIcon('HomeOutlined')
+ })
+}
+
+function addUserSettingMenu(remoteMenu) {
+ // const settingRoute = {
+ // name: "涓汉璁剧疆",
+ // path: "/account/setting",
+ // component: "/account/setting"
+ // }
+ // remoteMenu.push({
+ // name: "涓汉涓績",
+ // path: "/account",
+ // component: null,
+ // routes: [settingRoute],
+ // icon: createIcon('UserOutlined')
+ // })
+
+ remoteMenu.push({
+ name: "涓汉涓績",
+ path: "/account/setting",
+ component: "/account/setting",
+ icon: createIcon('UserOutlined')
+ })
}
\ No newline at end of file
--
Gitblit v1.9.1