lh 4 months ago
parent
commit
f1629a30fe
1 changed files with 44 additions and 0 deletions
  1. 44 0
      app/Services/Anime/AnimeService.php

+ 44 - 0
app/Services/Anime/AnimeService.php

@@ -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;
     }
     }