Restore-ZQ-admin-quality-while-trimming-AI-routes

This commit is contained in:
Codex
2026-06-08 20:39:22 +08:00
parent 2e7099cb6d
commit 4bb3593fc8
10 changed files with 342 additions and 362 deletions
+30 -3
View File
@@ -17,8 +17,33 @@ from core.menu.schema import MenuCreate, MenuUpdate
menu_cache = CacheManager(prefix="menu:")
# 缓存key
MENU_TREE_CACHE_KEY = "tree"
USER_ROUTE_CACHE_PREFIX = "user_route:"
MENU_TREE_CACHE_KEY = "tree:ai_agent_admin"
USER_ROUTE_CACHE_PREFIX = "user_route:ai_agent_admin:"
AI_AGENT_ADMIN_MENU_NAMES = {
"AIPlatform",
"AIAgent",
"AIWorkflow",
"KnowledgeBase",
"Codex",
"SystemConfigManager",
"SystemManagement",
"SystemPermission",
"UserManagement",
"SystemMenu",
"SystemRole",
"Message",
"AnnouncementList",
"AnnouncementManage",
"userCenter",
"userSettings",
"LoginLog",
}
def _filter_ai_agent_admin_menus(menus: List[Menu]) -> List[Menu]:
"""Keep only the lightweight admin and AI modules for this product."""
return [menu for menu in menus if menu.name in AI_AGENT_ADMIN_MENU_NAMES]
class MenuService(BaseService[Menu, MenuCreate, MenuUpdate]):
@@ -239,7 +264,7 @@ class MenuService(BaseService[Menu, MenuCreate, MenuUpdate]):
Menu.is_deleted == False # noqa: E712
).order_by(Menu.order)
)
return list(result.scalars().all())
return _filter_ai_agent_admin_menus(list(result.scalars().all()))
@classmethod
async def build_tree(
@@ -613,6 +638,8 @@ class MenuService(BaseService[Menu, MenuCreate, MenuUpdate]):
).order_by(Menu.order)
)
menus = list(result.scalars().all())
menus = _filter_ai_agent_admin_menus(menus)
# 构建路由树,传递 application_code 用于添加路径前缀
# 开发模式使用 /app-dev/{code} 前缀,正常模式使用 /app/{code} 前缀