feat: WebSocket链接状态管理

This commit is contained in:
zoujing 2025-09-16 15:45:03 +08:00
parent 3e34f68406
commit 5849411e89

View File

@ -212,6 +212,8 @@ let commonType = "";
// WebSocket // WebSocket
let webSocketManager = null; let webSocketManager = null;
/// WebSocket
let webSocketConnectStatus = false;
// //
let typewriterManager = null; let typewriterManager = null;
// IDmessageId // IDmessageId
@ -442,12 +444,14 @@ const initWebSocket = () => {
// //
onOpen: (event) => { onOpen: (event) => {
// //
webSocketConnectStatus = true;
isSessionActive.value = true; isSessionActive.value = true;
}, },
// //
onClose: (event) => { onClose: (event) => {
console.error("WebSocket连接断开:", event); console.error("WebSocket连接断开:", event);
webSocketConnectStatus = false;
// //
isSessionActive.value = false; isSessionActive.value = false;
// //
@ -458,6 +462,7 @@ const initWebSocket = () => {
// //
onError: (error) => { onError: (error) => {
webSocketConnectStatus = false;
isSessionActive.value = false; isSessionActive.value = false;
console.error("WebSocket错误:", error); console.error("WebSocket错误:", error);
}, },
@ -475,7 +480,9 @@ const initWebSocket = () => {
}); });
// //
webSocketManager.connect().catch((error) => { webSocketManager.connect().then(() => {
webSocketConnectStatus = true;
}).catch((error) => {
console.error("WebSocket连接失败:", error); console.error("WebSocket连接失败:", error);
}); });
}; };
@ -601,6 +608,15 @@ const initData = () => {
// //
const sendMessage = (message, isInstruct = false) => { const sendMessage = (message, isInstruct = false) => {
console.log("发送的消息:", message); console.log("发送的消息:", message);
if (!webSocketConnectStatus) {
uni.showToast({
title: "当前网络异常,请稍后重试",
icon: "none",
});
return;
}
if (!appStore.hasToken) { if (!appStore.hasToken) {
console.log("没有token跳转到登录页"); console.log("没有token跳转到登录页");
goLogin(); goLogin();