Procházet zdrojové kódy

feat(ScenePromptDialog): 实现 AI 生成场景提示词功能

- 添加 expandCameraWordsApi 接口调用
- 更新 AI 生成场景提示词的逻辑
-增加成功和失败的用户提示消息
panqiuyao před 3 měsíci
rodič
revize
eb56cde568

+ 5 - 0
frontend/src/apis/other.ts

@@ -12,5 +12,10 @@ export async function getShoesModelTemplateApi(params: { status: number }){
     return GET('/api/ai_image/main/shoes_model_template', params)
 }
 
+// AI 扩写相机场景提示词
+export async function expandCameraWordsApi(params: { words: string }){
+    return POST('/api/ai_image/main/expand_camera_words', params)
+}
+
 
 

+ 11 - 9
frontend/src/components/ScenePromptDialog/index.vue

@@ -30,6 +30,7 @@
 <script setup lang="ts">
 import { ref, computed, watch } from 'vue'
 import { ElMessage } from 'element-plus'
+import { expandCameraWordsApi } from '@/apis/other'
 
 // 定义组件的 props
 interface Props {
@@ -69,15 +70,16 @@ const handleAIHelp = async () => {
 
   aiLoading.value = true
   try {
-    // 这里可以调用 AI 接口生成场景提示词
-    // 模拟 AI 生成过程
-    await new Promise(resolve => setTimeout(resolve, 2000))
-
-    // 示例 AI 生成的提示词
-    const aiGeneratedPrompt = `一个现代化的办公场景,阳光透过落地窗洒在整洁的桌面上,桌上摆放着笔记本电脑、咖啡杯和几本专业书籍,背景是城市天际线,整体氛围专业而温馨。`
-
-    scenePrompt.value = aiGeneratedPrompt
-    ElMessage.success('AI 已为您生成场景提示词')
+    // 调用后端接口生成场景提示词
+    const res: any = await expandCameraWordsApi()
+
+    const result = res?.data?.result || ''
+    if (result) {
+      scenePrompt.value = result
+      ElMessage.success('AI 已为您生成场景提示词')
+    } else {
+      ElMessage.error('AI 未返回结果,请稍后重试')
+    }
   } catch (error) {
     ElMessage.error('AI 生成失败,请重试')
   } finally {