Bläddra i källkod

fix: _transform_external_menus 缩进错误导致 class MenuService 加载不全

alphah 2 veckor sedan
förälder
incheckning
96b27ba704
1 ändrade filer med 15 tillägg och 13 borttagningar
  1. 15 13
      backend/app/api/v1/module_system/menu/service.py

+ 15 - 13
backend/app/api/v1/module_system/menu/service.py

@@ -99,22 +99,24 @@ class MenuService:
         # 使用traversal_to_tree构建树形结构
         tree = traversal_to_tree(menu_dict_list)
         # 对外链菜单(type=4)转换路由数据
-        _transform_external_menus(tree)
+        MenuService._transform_external_menus(tree)
         return tree
 
 
-def _transform_external_menus(items: list[dict]) -> None:
-    """递归转换外链菜单的路由和组件路径"""
-    for item in items:
-        if item.get("type") == 4:
-            original_url = item.get("route_path", "")
-            route_name = item.get("route_name") or "external"
-            item["route_path"] = f"/{route_name}"
-            item["component_path"] = "module_system/menu/ExternalLink"
-            # 把原始 URL 存入 params,供 ExternalLink 组件读取
-            item["params"] = [{"key": "url", "value": original_url}]
-        if item.get("children"):
-            _transform_external_menus(item["children"])
+
+        @staticmethod
+        def _transform_external_menus(items: list[dict]) -> None:
+            """递归转换外链菜单的路由和组件路径"""
+            for item in items:
+                if item.get("type") == 4:
+                    original_url = item.get("route_path", "")
+                    route_name = item.get("route_name") or "external"
+                    item["route_path"] = f"/{route_name}"
+                    item["component_path"] = "module_system/menu/ExternalLink"
+                    # 把原始 URL 存入 params,供 ExternalLink 组件读取
+                    item["params"] = [{"key": "url", "value": original_url}]
+                if item.get("children"):
+                    MenuService._transform_external_menus(item["children"])
 
     @classmethod
     async def create_menu_service(cls, auth: AuthSchema, data: MenuCreateSchema) -> dict: