|
@@ -32,6 +32,7 @@ import {
|
|
|
watch,
|
|
|
} from 'vue'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
+import { appAudioToText } from '@/api/modules/app/chat'
|
|
|
|
|
|
const emit = defineEmits(['onLoading', 'onAudio'])
|
|
|
const props = defineProps({})
|
|
@@ -91,17 +92,18 @@ const onStart = async () => {
|
|
|
return
|
|
|
}
|
|
|
try {
|
|
|
- const formData = new FormData()
|
|
|
- formData.append('file', state.audioBlob)
|
|
|
- // const audioResponse = await audioToText(
|
|
|
- // `/installed-apps/${import.meta.env.VITE_DIFY_APPID}/audio-to-text`,
|
|
|
- // false,
|
|
|
- // formData,
|
|
|
- // )
|
|
|
- emit(
|
|
|
- 'onAudio',
|
|
|
- '语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容语音内容',
|
|
|
- )
|
|
|
+ const reader = new FileReader()
|
|
|
+ reader.onloadend = () => {
|
|
|
+ const dataUrl = reader.result
|
|
|
+ const base64 = dataUrl?.split(',')?.[1]
|
|
|
+ const formData = new FormData()
|
|
|
+ formData.append('audioBase64', base64)
|
|
|
+ appAudioToText(formData).then(({ data }: any) => {
|
|
|
+ emit('onAudio', data)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ reader.onerror = () => {}
|
|
|
+ reader.readAsDataURL(state.audioBlob)
|
|
|
} catch (err) {
|
|
|
emit('onAudio', '')
|
|
|
ElMessage.error('上传错误:' + err)
|