新增作文区与 AI 解读开关,修复 CSV 导出。
系统设置可关闭成绩复盘 AI;学生详情增加作文区(OCR/手动题目、方案与范文、历史与 MD 下载);导出改用 UTF-8 文件名响应。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -76,8 +76,13 @@ class PublicSettingsOut(BaseModel):
|
||||
registration_enabled: bool
|
||||
|
||||
|
||||
class AppFeaturesOut(BaseModel):
|
||||
ai_review_enabled: bool
|
||||
|
||||
|
||||
class SystemSettingsOut(BaseModel):
|
||||
registration_enabled: bool
|
||||
ai_review_enabled: bool = True
|
||||
ai_provider: AIProviderEnum
|
||||
ollama_base_url: str | None = None
|
||||
ollama_model: str | None = None
|
||||
@@ -92,6 +97,7 @@ class SystemSettingsOut(BaseModel):
|
||||
|
||||
class SystemSettingsUpdate(BaseModel):
|
||||
registration_enabled: bool | None = None
|
||||
ai_review_enabled: bool | None = None
|
||||
ai_provider: AIProviderEnum | None = None
|
||||
ollama_base_url: str | None = None
|
||||
ollama_model: str | None = None
|
||||
@@ -293,3 +299,39 @@ class WrongQuestionUpdate(BaseModel):
|
||||
solution_approach: str | None = None
|
||||
solution_text: str | None = None
|
||||
subject_id: int | None = None
|
||||
|
||||
|
||||
class CompositionStatusEnum(str, Enum):
|
||||
pending = "pending"
|
||||
generating = "generating"
|
||||
done = "done"
|
||||
failed = "failed"
|
||||
|
||||
|
||||
class CompositionInputModeEnum(str, Enum):
|
||||
manual = "manual"
|
||||
ocr = "ocr"
|
||||
|
||||
|
||||
class CompositionCreate(BaseModel):
|
||||
topic: str = Field(..., min_length=1, max_length=4000)
|
||||
input_mode: CompositionInputModeEnum = CompositionInputModeEnum.manual
|
||||
|
||||
|
||||
class CompositionOcrOut(BaseModel):
|
||||
text: str
|
||||
|
||||
|
||||
class CompositionOut(BaseModel):
|
||||
id: UUID
|
||||
student_id: UUID
|
||||
topic: str
|
||||
input_mode: CompositionInputModeEnum
|
||||
writing_plan: str | None = None
|
||||
sample_essay: str | None = None
|
||||
error_message: str | None = None
|
||||
status: CompositionStatusEnum
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
Reference in New Issue
Block a user