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