From 7b97fda4be0b172f71aaaf78661040ad6ffc57d2 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Thu, 21 Aug 2025 09:34:51 +0800 Subject: [PATCH] 'commit' --- .../__pycache__/JmTxt2ImgUtil.cpython-310.pyc | Bin 0 -> 2675 bytes dsLightRag/Routes/JiMengRoute.py | 3 + .../__pycache__/JiMengRoute.cpython-310.pyc | Bin 0 -> 1331 bytes .../Routes/__pycache__/QA.cpython-310.pyc | Bin 6599 -> 6676 bytes dsLightRag/static/JiMeng/image_preview.html | 243 ++++++++++++++ dsLightRag/static/JiMeng/prompt_input.html | 316 +++++++++++++++++- 6 files changed, 555 insertions(+), 7 deletions(-) create mode 100644 dsLightRag/JiMeng/Kit/__pycache__/JmTxt2ImgUtil.cpython-310.pyc create mode 100644 dsLightRag/Routes/__pycache__/JiMengRoute.cpython-310.pyc create mode 100644 dsLightRag/static/JiMeng/image_preview.html diff --git a/dsLightRag/JiMeng/Kit/__pycache__/JmTxt2ImgUtil.cpython-310.pyc b/dsLightRag/JiMeng/Kit/__pycache__/JmTxt2ImgUtil.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7990fa668c602cdde118f4ca36851a3e8ad28cf8 GIT binary patch literal 2675 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 QNpzKb(8f@feAkx#0UwOFRR910 diff --git a/dsLightRag/static/JiMeng/image_preview.html b/dsLightRag/static/JiMeng/image_preview.html new file mode 100644 index 00000000..cb452d8f --- /dev/null +++ b/dsLightRag/static/JiMeng/image_preview.html @@ -0,0 +1,243 @@ + + + + + + 首帧预览 + + + +
+

首帧预览

+
+
加载中...
+ +
+
+ + + +
+
+ + +
+
+
+
正在生成图片,请稍候...
+
+
+ + + + \ No newline at end of file diff --git a/dsLightRag/static/JiMeng/prompt_input.html b/dsLightRag/static/JiMeng/prompt_input.html index 8de0705f..e007ef94 100644 --- a/dsLightRag/static/JiMeng/prompt_input.html +++ b/dsLightRag/static/JiMeng/prompt_input.html @@ -144,6 +144,188 @@ margin-bottom: 10px; } +
@@ -191,7 +373,7 @@
- +
请描述画面想要传达的整体氛围或情绪
@@ -369,7 +551,6 @@ const creationMethod = document.querySelector('input[name="creationMethod"]:checked').value; if (creationMethod === 'prompt') { - // 原有的提示词生成逻辑 // 收集表单数据 const formData = { timeWeatherLight: document.getElementById('timeWeatherLight').value, @@ -391,11 +572,10 @@ } prompt += `,氛围${formData.atmosphere}。`; - // 在实际应用中,这里应该发送数据到后端 - console.log('生成的提示词:', prompt); - alert('提示词已生成:\n' + prompt + '\n\n下一步将生成首帧图片'); + // 调用 API 生成图片 + generateImage(prompt); } else { - // 新增的图片上传逻辑 + // 图片上传逻辑 if (imageUpload.files.length === 0) { alert('请先选择要上传的图片'); return; @@ -403,10 +583,55 @@ const file = imageUpload.files[0]; console.log('上传的图片:', file.name); - alert('图片已上传:\n' + file.name + '\n\n下一步将使用此图片作为首帧'); + // 这里应该实现图片上传逻辑 + alert('图片上传功能尚未实现'); } }); + // 新增函数:调用 API 生成图片 + function generateImage(prompt) { + // 显示遮罩动画 + mask.classList.add('active'); + maskText.textContent = '正在生成图片,请稍候...'; + + console.log('生成的提示词:', prompt); + + // 发送请求到后端 API + fetch('/api/jimeng/prompt_input', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ prompt: prompt }) + }) + .then(response => { + if (!response.ok) { + throw new Error('网络响应异常'); + } + return response.json(); + }) + .then(data => { + // 隐藏遮罩动画 + mask.classList.remove('active'); + + if (data.code === 200) { + // 保存图片 URL 和提示词并跳转到预览页面 + sessionStorage.setItem('generatedImageUrl', data.data.image_url); + sessionStorage.setItem('lastPrompt', prompt); + window.location.href = 'image_preview.html'; + } else { + alert('图片生成失败: ' + data.message); + } + }) + .catch(error => { + // 隐藏遮罩动画 + mask.classList.remove('active'); + + console.error('生成图片时出错:', error); + alert('生成图片时出错: ' + error.message); + }); + } + // 表单重置事件 promptForm.addEventListener('reset', function() { // 清空标签 @@ -423,4 +648,81 @@ }); + + +
+
+
+
正在生成图片,请稍候...
+
+
+ + + \ No newline at end of file