This commit is contained in:
2025-09-02 08:58:30 +08:00
parent 044312e500
commit dab80a61d2
3 changed files with 87 additions and 19 deletions

View File

@@ -314,11 +314,20 @@
});
// 生成按钮点击事件
document.getElementById('generate-btn').addEventListener('click', function() {
document.getElementById('generate-btn').addEventListener('click', async function() {
const generateBtn = this;
const loading = document.getElementById('loading');
const videoResult = document.getElementById('video-result');
const emptyResult = document.getElementById('empty-result');
const videoPlayer = document.getElementById('video-player');
// 获取参数
const imageUrl = document.getElementById('image-url').value.trim();
const audioUrl = document.getElementById('audio-url').value.trim();
const eyeMovement = document.getElementById('eye-movement').value;
// 映射眼睛移动频率
const eyeMoveFreqMap = {low: 0.3, medium: 0.5, high: 0.7};
// 显示加载状态
generateBtn.disabled = true;
@@ -326,13 +335,35 @@
videoResult.style.display = 'none';
emptyResult.style.display = 'none';
// 模拟生成过程
setTimeout(() => {
try {
// 实际API调用
const response = await fetch('/api/video/generate', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
image_url: imageUrl,
audio_url: audioUrl,
eye_move_freq: eyeMoveFreqMap[eyeMovement]
})
});
const data = await response.json();
if (data.success && data.video_url) {
videoPlayer.src = data.video_url;
videoResult.style.display = 'block';
layer.msg('视频合成成功', {icon: 1});
} else {
emptyResult.style.display = 'block';
layer.msg('视频合成失败: ' + data.message, {icon: 2});
}
} catch (error) {
console.error('API调用失败:', error);
emptyResult.style.display = 'block';
layer.msg('网络错误,无法连接服务器', {icon: 2});
} finally {
loading.classList.remove('active');
videoResult.style.display = 'block';
generateBtn.disabled = false;
layer.msg('视频合成成功', {icon: 1});
}, 2000);
}
});
});
</script>