|
|
@ -693,8 +693,11 @@ function playAudio(url) { |
|
|
|
console.log('开始创建音频实例...'); |
|
|
|
|
|
|
|
try { |
|
|
|
// 设置当前音频URL |
|
|
|
audioStore.setCurrentAudioUrl(url); |
|
|
|
|
|
|
|
// 停止之前的音频 |
|
|
|
if (audioStore.nowSound) { |
|
|
|
if (audioStore.nowSound && audioStore.nowSound.playing()) { |
|
|
|
audioStore.nowSound.stop(); |
|
|
|
} |
|
|
|
|
|
|
@ -705,19 +708,35 @@ function playAudio(url) { |
|
|
|
format: ['mp3', 'wav'], |
|
|
|
onplay: () => { |
|
|
|
isAudioPlaying.value = true; |
|
|
|
audioStore.isPlaying = true; |
|
|
|
console.log('开始播放场景应用语音'); |
|
|
|
}, |
|
|
|
onend: () => { |
|
|
|
isAudioPlaying.value = false; |
|
|
|
audioStore.isPlaying = false; |
|
|
|
audioStore.isPaused = false; |
|
|
|
audioStore.playbackPosition = 0; |
|
|
|
console.log('场景应用语音播放结束'); |
|
|
|
}, |
|
|
|
onstop: () => { |
|
|
|
isAudioPlaying.value = false; |
|
|
|
audioStore.isPlaying = false; |
|
|
|
console.log('场景应用语音播放停止'); |
|
|
|
}, |
|
|
|
onpause: () => { |
|
|
|
isAudioPlaying.value = false; |
|
|
|
audioStore.isPlaying = false; |
|
|
|
console.log('场景应用语音播放暂停'); |
|
|
|
}, |
|
|
|
onerror: (error) => { |
|
|
|
isAudioPlaying.value = false; |
|
|
|
audioStore.isPlaying = false; |
|
|
|
console.error('音频播放错误:', error); |
|
|
|
}, |
|
|
|
onload: () => { |
|
|
|
// 音频加载完成,获取时长 |
|
|
|
audioStore.duration = newSound.duration(); |
|
|
|
console.log('音频加载完成,时长:', audioStore.duration); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
@ -764,11 +783,6 @@ async function handleSendMessage(input) { |
|
|
|
if (input.trim()) { |
|
|
|
const userMessage = reactive({ sender: 'user', text: input }); |
|
|
|
messages.value.push(userMessage); |
|
|
|
// 设置加载状态,隐藏图表页面 |
|
|
|
isLoading.value = true; |
|
|
|
isPageLoaded.value = false; |
|
|
|
// 触发图片旋转 |
|
|
|
isRotating.value = true; |
|
|
|
|
|
|
|
try { |
|
|
|
// 用来调用工作流接口的参数 |
|
|
@ -797,6 +811,12 @@ async function handleSendMessage(input) { |
|
|
|
|
|
|
|
if (parsedData && parsedData.market && parsedData.code) { |
|
|
|
console.log("工作流接口返回股票信息:", parsedData); |
|
|
|
// 设置加载状态,隐藏图表页面 |
|
|
|
isLoading.value = true; |
|
|
|
isPageLoaded.value = false; |
|
|
|
// 触发图片旋转 |
|
|
|
isRotating.value = true; |
|
|
|
|
|
|
|
// 调用第二个工作流接口 |
|
|
|
const conclusionParams = { |
|
|
|
content: input.trim(), |
|
|
@ -826,16 +846,19 @@ async function handleSendMessage(input) { |
|
|
|
emotionStore.updateActiveStockConclusion(conclusionResponse.data); |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 不是股票信息,显示refuse信息,但不隐藏页面数据 |
|
|
|
ElMessage.error(processRefuseMessage(parsedData.refuse)); |
|
|
|
return; // 直接返回,不进行后续处理 |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
ElMessage.error('请求工作流接口失败,请检查网络连接'); |
|
|
|
return; // 请求失败时直接返回 |
|
|
|
} finally { |
|
|
|
// 停止图片旋转 |
|
|
|
isRotating.value = false; |
|
|
|
// 停止图片旋转(只有在设置了旋转状态时才需要停止) |
|
|
|
if (isRotating.value) { |
|
|
|
isRotating.value = false; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
ElMessage.error(processRefuseMessage(parsedData.refuse)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|