From ddbf9504fc5faf6764fffa4e9263a3ad927331d8 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期一, 14 七月 2025 17:14:26 +0800 Subject: [PATCH] '-' --- src/router/utils.ts | 20 +++++++++++--------- 1 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/router/utils.ts b/src/router/utils.ts index 1e91571..28e32b8 100644 --- a/src/router/utils.ts +++ b/src/router/utils.ts @@ -120,14 +120,14 @@ /** 鏌ユ壘瀵瑰簲 `path` 鐨勮矾鐢变俊鎭� */ function findRouteByPath(path: string, routes: RouteRecordRaw[]) { - let res = routes.find((item: { path: string }) => item.path == path); + let res = routes?.find((item: { path: string }) => item.path == path); if (res) { return isProxy(res) ? toRaw(res) : res; } else { - for (let i = 0; i < routes.length; i++) { + for (let i = 0; i < routes?.length; i++) { if ( - routes[i].children instanceof Array && - routes[i].children.length > 0 + routes[i]?.children instanceof Array && + routes[i]?.children.length > 0 ) { res = findRouteByPath(path, routes[i].children); if (res) { @@ -151,21 +151,21 @@ /** 澶勭悊鍔ㄦ�佽矾鐢憋紙鍚庣杩斿洖鐨勮矾鐢憋級 */ function handleAsyncRoutes(routeList) { - if (routeList.length === 0) { + if (routeList?.length === 0) { usePermissionStoreHook().handleWholeMenus(routeList); } else { formatFlatteningRoutes(addAsyncRoutes(routeList)).map( (v: RouteRecordRaw) => { // 闃叉閲嶅娣诲姞璺敱 if ( - router.options.routes[0].children.findIndex( + router.options.routes[0].children?.findIndex( value => value.path === v.path ) !== -1 ) { return; } else { // 鍒囪灏嗚矾鐢眕ush鍒皉outes鍚庤繕闇�瑕佷娇鐢╝ddRoute锛岃繖鏍疯矾鐢辨墠鑳芥甯歌烦杞� - router.options.routes[0].children.push(v); + router.options.routes[0].children?.push(v); // 鏈�缁堣矾鐢辫繘琛屽崌搴� ascending(router.options.routes[0].children); if (!router.hasRoute(v?.name)) router.addRoute(v); @@ -227,7 +227,7 @@ * @returns 杩斿洖澶勭悊鍚庣殑涓�缁磋矾鐢� */ function formatFlatteningRoutes(routesList: RouteRecordRaw[]) { - if (routesList.length === 0) return routesList; + if (routesList?.length === 0) return routesList; let hierarchyList = buildHierarchyTree(routesList); for (let i = 0; i < hierarchyList.length; i++) { if (hierarchyList[i].children) { @@ -246,7 +246,7 @@ * @returns 杩斿洖灏嗕竴缁存暟缁勯噸鏂板鐞嗘垚瑙勫畾璺敱鐨勬牸寮� */ function formatTwoStageRoutes(routesList: RouteRecordRaw[]) { - if (routesList.length === 0) return routesList; + if (routesList?.length === 0) return routesList; const newRoutesList: RouteRecordRaw[] = []; routesList.forEach((v: RouteRecordRaw) => { if (v.path === "/") { @@ -387,6 +387,8 @@ usePermissionStoreHook().wholeMenus[0]?.children[0] ); tag && useMultiTagsStoreHook().handleTags("push", topMenu); + console.log(topMenu, "topMenu"); + return topMenu; } -- Gitblit v1.9.1