CzRger 1 hete%!(EXTRA string=óta)
szülő
commit
22350bfb88
2 módosított fájl, 16 hozzáadás és 11 törlés
  1. 3 0
      src/api/modules/app/chat.ts
  2. 13 11
      src/views/chat/audio/index.vue

+ 3 - 0
src/api/modules/app/chat.ts

@@ -17,6 +17,9 @@ export const appConversationsSearch = (params) =>
 // 对话重命名
 export const appConversationsRename = (params) =>
   post(`/app/conversations/rename`, params, {}, proxy)
+// 语音转文字
+export const appAudioToText = (params) =>
+  post(`/app/audio-to-text`, params, {}, proxy)
 // 停止回答
 export const appConversationsStop = (id, params) =>
   get(`/app/conversations/${id}/stop`, params, {}, proxy)

+ 13 - 11
src/views/chat/audio/index.vue

@@ -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)