feat: prompt from station

This commit is contained in:
2026-04-06 17:00:12 +08:00
parent d19b770ef4
commit ad0add4500
12 changed files with 29 additions and 300 deletions

View File

@@ -29,45 +29,4 @@ class EditTerminal extends EditRecord
{
return '终端更新成功';
}
protected function mutateFormDataBeforeFill(array $data): array
{
// 加载提示词数据到表单
if ($this->record->prompt) {
$data['prompt'] = [
'prompt_template' => $this->record->prompt->prompt_template,
'variables' => $this->record->prompt->variables,
];
}
return $data;
}
protected function mutateFormDataBeforeSave(array $data): array
{
// 提取提示词数据,稍后单独处理
$this->promptData = $data['prompt'] ?? null;
unset($data['prompt']);
return $data;
}
protected function afterSave(): void
{
// 更新或创建提示词
if (!empty($this->promptData['prompt_template'])) {
$this->record->prompt()->updateOrCreate(
['terminal_id' => $this->record->id],
[
'prompt_template' => $this->promptData['prompt_template'],
'variables' => $this->promptData['variables'] ?? [],
]
);
} elseif ($this->record->prompt) {
// 如果提示词模板为空,删除现有提示词
$this->record->prompt()->delete();
}
}
private ?array $promptData = null;
}