"""菜单 Schema 定义""" from typing import Optional, List from pydantic import BaseModel class MenuMeta(BaseModel): """菜单元信息""" title: str icon: Optional[str] = None keepAlive: Optional[bool] = False isHide: Optional[bool] = False isIframe: Optional[bool] = False link: Optional[str] = None showBadge: Optional[bool] = False showTextBadge: Optional[str] = None isHideTab: Optional[bool] = False class MenuItem(BaseModel): """菜单项""" id: int name: str path: str component: Optional[str] = None redirect: Optional[str] = None meta: Optional[MenuMeta] = None children: Optional[List["MenuItem"]] = None class MenuListResponse(BaseModel): """菜单列表响应""" menuList: List[MenuItem] MenuItem.model_rebuild()