This commit is contained in:
zwt13703
2026-07-02 14:48:05 +08:00
parent a1a314cf99
commit e558733f05
64 changed files with 3258 additions and 1 deletions
+86
View File
@@ -0,0 +1,86 @@
from pydantic import BaseModel, Field
from typing import Optional, Any
from datetime import datetime
class Response(BaseModel):
code: int = 0
data: Any = None
message: str = "ok"
class PageData(BaseModel):
items: list = []
total: int = 0
page: int = 1
page_size: int = 20
# 模板
class TemplateCreate(BaseModel):
name: str
description: str = ""
class TemplateOut(BaseModel):
id: int
name: str
description: str = ""
file_path: str = ""
paragraph_count: int = 0
status: str = "draft"
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None
class ParagraphConfig(BaseModel):
id: int = 0
sort_index: int = 0
title: str = ""
edit_mode: str = "ai"
model_id: Optional[int] = None
need_prompt: bool = True
prompt_text: str = ""
need_file: bool = False
file_note: str = ""
output_format: str = "text"
class TemplateSave(BaseModel):
paragraphs: list[ParagraphConfig] = []
# 模型
class AiModelCreate(BaseModel):
name: str
provider: str = ""
api_format: str = "openai"
api_endpoint: str = ""
api_key: str = ""
status: str = "enabled"
class AiModelOut(BaseModel):
id: int
name: str
provider: str = ""
api_format: str = "openai"
api_endpoint: str = ""
api_key_preview: str = ""
status: str = "enabled"
created_at: Optional[datetime] = None
# 生成
class GenerateTestRequest(BaseModel):
paragraph_id: int
template_id: int
prompt_text: str = ""
model_id: int = 0
file_paths: list[str] = []
class GenerateFullRequest(BaseModel):
template_id: int
file_map: dict[str, str] = {} # paragraph_id -> file_path
class DocumentOut(BaseModel):
id: int
template_id: int
name: str
para_count_done: int = 0
para_count_total: int = 0
status: str = "pending"
file_path: str = ""
error: str = ""
created_at: Optional[datetime] = None