30 lines
1.4 KiB
Python
30 lines
1.4 KiB
Python
|
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 记录列表")
|