feat: support configurable card variables and layouts
This commit is contained in:
@@ -50,6 +50,7 @@ def save_content_generation_config(
|
||||
config_type=config_type,
|
||||
template_content=payload.templateContent,
|
||||
instruction_content=payload.instructionContent,
|
||||
variables=[item.model_dump() for item in payload.variables],
|
||||
updated_by=current_admin.id,
|
||||
)
|
||||
OperationLogService.write(
|
||||
@@ -166,7 +167,15 @@ def preview_content_generation(
|
||||
payload: ContentGenerationPreviewRequest,
|
||||
current_admin: Admin = Depends(get_current_admin),
|
||||
) -> dict:
|
||||
return api_success({"content": ContentGenerationConfigService.preview(payload.configType, payload.templateContent)})
|
||||
return api_success(
|
||||
{
|
||||
"content": ContentGenerationConfigService.preview(
|
||||
payload.configType,
|
||||
payload.templateContent,
|
||||
[item.model_dump() for item in payload.variables],
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@router.post("/content-generation/test")
|
||||
@@ -175,6 +184,7 @@ def test_content_generation(
|
||||
db: Session = Depends(get_db),
|
||||
current_admin: Admin = Depends(get_current_admin),
|
||||
) -> dict:
|
||||
variables = [item.model_dump() for item in payload.variables]
|
||||
values = dict(SAMPLE_VALUES)
|
||||
values.update(
|
||||
{
|
||||
@@ -183,6 +193,7 @@ def test_content_generation(
|
||||
"current_focus": "(请由 AI 根据测试材料整理)",
|
||||
"next_observation": "(请由 AI 根据测试材料整理)",
|
||||
"teacher_question": "(请由 AI 根据测试材料整理)",
|
||||
"source_material": payload.sampleText.strip()[:20000],
|
||||
}
|
||||
)
|
||||
generated, used_fallback = ContentGenerationConfigService.generate_values(
|
||||
@@ -190,9 +201,10 @@ def test_content_generation(
|
||||
config_type=payload.configType,
|
||||
instruction_content=payload.instructionContent,
|
||||
values=values,
|
||||
variables=variables,
|
||||
user_id=None,
|
||||
)
|
||||
content = ContentGenerationConfigService.render(payload.configType, payload.templateContent, generated)
|
||||
content = ContentGenerationConfigService.render(payload.configType, payload.templateContent, generated, variables)
|
||||
OperationLogService.write(
|
||||
db,
|
||||
admin_id=current_admin.id,
|
||||
|
||||
Reference in New Issue
Block a user