feat: GEO/SEO structured data + search ranking tracker
This commit is contained in:
@@ -92,6 +92,23 @@ class TopicCreate(BaseModel):
|
||||
scoring_data: Dict[str, Any] = {}
|
||||
|
||||
|
||||
class TopicAnalyzeRequest(BaseModel):
|
||||
raw_input: str = Field(..., min_length=1, description="用户输入的选题思路/内容描述")
|
||||
reference_links: List[str] = Field(default=[], description="参考链接列表(可选)")
|
||||
field_id: Optional[int] = Field(default=None, description="所属领域ID(可选)")
|
||||
|
||||
|
||||
class TopicAnalyzeResponse(BaseModel):
|
||||
title: str
|
||||
format: str
|
||||
core_concept: str
|
||||
audience_pain: str
|
||||
unique_angle: str
|
||||
field_name: Optional[str] = None
|
||||
tags: List[str] = []
|
||||
priority: str = "中"
|
||||
|
||||
|
||||
class TopicUpdate(BaseModel):
|
||||
field_id: Optional[int] = None
|
||||
title: Optional[str] = None
|
||||
@@ -131,6 +148,8 @@ class ArticleBase(BaseModel):
|
||||
topic_id: str
|
||||
platform: str
|
||||
file_path: str
|
||||
title: Optional[str] = None
|
||||
content: Optional[str] = None
|
||||
status: str = "draft"
|
||||
compliance_score: Optional[int] = None
|
||||
word_count: Optional[int] = None
|
||||
|
||||
Reference in New Issue
Block a user