Files
shanxia2.0/backend/app/schemas/menu.py
T
2026-05-12 16:35:07 +08:00

36 lines
816 B
Python

"""菜单 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()