|
@@ -1553,6 +1553,50 @@ class AnimeService
|
|
|
sleep(10);
|
|
sleep(10);
|
|
|
$img_url = $this->loopGetPicTaskResult($task_id);
|
|
$img_url = $this->loopGetPicTaskResult($task_id);
|
|
|
if (!$img_url) Utils::throwError('20003:图片生成中,请稍后刷新');
|
|
if (!$img_url) Utils::throwError('20003:图片生成中,请稍后刷新');
|
|
|
|
|
+
|
|
|
|
|
+ // 图片生成后新增对话记录
|
|
|
|
|
+ try {
|
|
|
|
|
+ $uid = Site::getUid();
|
|
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
|
|
+
|
|
|
|
|
+ // 使用AI反推图片提示词
|
|
|
|
|
+ $pic_prompt = $this->generateImagePromptFromUrl($img_url);
|
|
|
|
|
+
|
|
|
|
|
+ // 保存对话记录
|
|
|
|
|
+ $records = [
|
|
|
|
|
+ [
|
|
|
|
|
+ 'uid' => $uid,
|
|
|
|
|
+ 'anime_id' => $anime_id,
|
|
|
|
|
+ 'sequence' => $episode_number,
|
|
|
|
|
+ 'role' => 'user',
|
|
|
|
|
+ 'content' => '重新生成',
|
|
|
|
|
+ 'segment_id' => $segment_id,
|
|
|
|
|
+ 'image_url' => '',
|
|
|
|
|
+ 'created_at' => $now,
|
|
|
|
|
+ 'updated_at' => $now
|
|
|
|
|
+ ],
|
|
|
|
|
+ [
|
|
|
|
|
+ 'uid' => $uid,
|
|
|
|
|
+ 'anime_id' => $anime_id,
|
|
|
|
|
+ 'sequence' => $episode_number,
|
|
|
|
|
+ 'role' => 'assistant',
|
|
|
|
|
+ 'content' => $pic_prompt,
|
|
|
|
|
+ 'segment_id' => $segment_id,
|
|
|
|
|
+ 'image_url' => $img_url,
|
|
|
|
|
+ 'created_at' => $now,
|
|
|
|
|
+ 'updated_at' => $now
|
|
|
|
|
+ ]
|
|
|
|
|
+ ];
|
|
|
|
|
+
|
|
|
|
|
+ DB::table('mp_anime_records')->insert($records);
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ // 记录日志但不影响主流程
|
|
|
|
|
+ dLog('anime')->error('保存对话记录失败: ' . $e->getMessage(), [
|
|
|
|
|
+ 'segment_id' => $segment_id,
|
|
|
|
|
+ 'img_url' => $img_url
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return $img_url;
|
|
return $img_url;
|
|
|
}
|
|
}
|
|
|
|
|
|