feat: 完成大部分功能开发
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useChatStore, useTtsStore,useVoiceStore } from "@/stores";
|
||||
import { useChatStore, useTtsStore } from "@/stores";
|
||||
|
||||
// WebSocket
|
||||
export const useWebSocketStore = defineStore("websocket", () => {
|
||||
@@ -6,7 +6,6 @@ export const useWebSocketStore = defineStore("websocket", () => {
|
||||
const connected = ref(false);
|
||||
const chatStore = useChatStore();
|
||||
const ttsStore = useTtsStore();
|
||||
const voiceStore = useVoiceStore();
|
||||
const router = useRouter();
|
||||
|
||||
const { onlineCount } = storeToRefs(chatStore);
|
||||
@@ -16,13 +15,11 @@ export const useWebSocketStore = defineStore("websocket", () => {
|
||||
if (e.data instanceof ArrayBuffer) {
|
||||
// 处理二进制音频数据(兜底处理,新版本应该不会用到)
|
||||
console.log("收到二进制音频数据,大小:", e.data.byteLength);
|
||||
console.warn("收到旧格式的二进制数据,无法确定messageId");
|
||||
// 可以选择忽略或者作为兜底处理
|
||||
} else if (e.data instanceof Blob) {
|
||||
// 如果是Blob,转换为ArrayBuffer(兜底处理)
|
||||
e.data.arrayBuffer().then((buffer: ArrayBuffer) => {
|
||||
console.log("收到Blob音频数据,大小:", buffer.byteLength);
|
||||
console.warn("收到旧格式的Blob数据,无法确定messageId");
|
||||
});
|
||||
} else if (typeof e.data === "string") {
|
||||
// 处理文本JSON消息
|
||||
@@ -36,8 +33,8 @@ export const useWebSocketStore = defineStore("websocket", () => {
|
||||
if (router.currentRoute.value.path === "/") {
|
||||
chatStore.addMessageToHistory(data.result);
|
||||
} else if (router.currentRoute.value.path === "/voice") {
|
||||
// 在语音页面,使用VoiceStore处理
|
||||
voiceStore.handleASRResult(data.result);
|
||||
// 在语音页面的处理
|
||||
chatStore.addMessageToHistory(data.result, "user", "voice");
|
||||
} else {
|
||||
console.warn(data);
|
||||
}
|
||||
@@ -109,6 +106,13 @@ export const useWebSocketStore = defineStore("websocket", () => {
|
||||
}
|
||||
break;
|
||||
|
||||
case "llm_complete_response":
|
||||
// LLM部分响应
|
||||
if (router.currentRoute.value.path === "/voice") {
|
||||
chatStore.addMessageToHistory(data.content, "assistant", "voice");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
console.log("未知消息类型:", data.type, data);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user