'commit'
This commit is contained in:
@@ -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>
|
||||
|
Reference in New Issue
Block a user