from pydantic import BaseModel, Field from typing import List, Optional # Pydantic 模型 class ICPRecord(BaseModel): """ICP备案记录模型""" contentTypeName: str = Field(default="", description="内容类型名称") domain: str = Field(default="", description="域名") domainId: str | int = Field(default="", description="域名ID") leaderName: str = Field(default="", description="负责人姓名") limitAccess: str = Field(default="", description="限制访问") mainId: str | int = Field(default="", description="主体ID") mainLicence: str = Field(default="", description="主体许可证") natureName: str = Field(default="", description="性质名称") serviceId: str | int = Field(default="", description="服务ID") serviceLicence: str = Field(default="", description="服务许可证") unitName: str = Field(default="", description="单位名称") updateRecordTime: str = Field(default="", description="更新记录时间") class Config: """配置模型""" json_encoders = { int: str # 将整数类型自动转换为字符串 } class QueryResponse(BaseModel): """查询响应模型""" cached: bool = Field(default=False, description="是否从缓存中获取") count: int = Field(default=0, description="数量") data: List[ICPRecord] = Field(default_factory=list, description="ICP 记录列表")