feat:初始化工程

This commit is contained in:
2025-09-21 22:47:06 +08:00
commit c4674749ce
78 changed files with 1599 additions and 0 deletions

79
schemas/blog.py Normal file
View File

@@ -0,0 +1,79 @@
from typing import Optional
from pydantic import BaseModel
from datetime import datetime
class BlogQuery(BaseModel):
# 类别
category: Optional[str] = None
# 标题
title: Optional[str] = None
# 年份
year: Optional[int] = None
class BlogResponse(BaseModel):
id: Optional[int] = None
title: Optional[str] = None
topValue: Optional[int] = None
isGreat: Optional[bool] = None
category: Optional[str] = None
summary: Optional[str] = None
content: Optional[str] = None
wordCount: Optional[int] = None
readDuration: Optional[float] = None
visitCount: Optional[int] = None
createTime: Optional[datetime] = None
updateTime: Optional[datetime] = None
class Config:
from_attributes = True
json_encoders = {
# 自定义 datetime 类型的序列化格式
datetime: lambda dt: dt.strftime('%Y-%m-%d %H:%M:%S')
}
class BlogCategoryResponse(BaseModel):
name: str
count: int
class Config:
from_attributes = True
class BlogStatsResponse(BaseModel):
blogCount: int
categoryCount: int
wordCount: int
class BlogLatestResponse(BaseModel):
id: int
title: str
class Config:
from_attributes = True
class BlogCommentCreate(BaseModel):
blogId: int
parentId: int
name: str
website: Optional[str] = None
content: str
class BlogCommentResponse(BlogCommentCreate):
id: int
ipAddress: str
userAgent: str
createTime: datetime
class Config:
from_attributes = True
json_encoders = {
# 自定义 datetime 类型的序列化格式
datetime: lambda dt: dt.strftime('%Y-%m-%d %H:%M:%S')
}