mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
24 lines
651 B
Python
24 lines
651 B
Python
|
|
from typing import Any
|
||
|
|
|
||
|
|
from pydantic import BaseModel, Field
|
||
|
|
|
||
|
|
from .base import RenderableComponent
|
||
|
|
|
||
|
|
|
||
|
|
class DetailsItem(BaseModel):
|
||
|
|
"""描述列表中的单个项目"""
|
||
|
|
|
||
|
|
label: str = Field(..., description="项目的标签/键")
|
||
|
|
value: Any = Field(..., description="项目的值")
|
||
|
|
|
||
|
|
|
||
|
|
class DetailsData(RenderableComponent):
|
||
|
|
"""描述列表(键值对)的数据模型"""
|
||
|
|
|
||
|
|
title: str | None = Field(None, description="列表的可选标题")
|
||
|
|
items: list[DetailsItem] = Field(default_factory=list, description="键值对项目列表")
|
||
|
|
|
||
|
|
@property
|
||
|
|
def template_name(self) -> str:
|
||
|
|
return "components/core/details"
|