fix: 连一下ws
This commit is contained in:
parent
da00968586
commit
da0b949ca4
@ -95,92 +95,92 @@ export default function AskScreen() {
|
|||||||
};
|
};
|
||||||
}, [isHello]);
|
}, [isHello]);
|
||||||
|
|
||||||
// useFocusEffect(
|
useFocusEffect(
|
||||||
// useCallback(() => {
|
useCallback(() => {
|
||||||
// webSocketManager.connect();
|
webSocketManager.connect();
|
||||||
|
|
||||||
// const handleChatStream = (message: WsMessage) => {
|
// const handleChatStream = (message: WsMessage) => {
|
||||||
// if (message.type === 'ChatStream') {
|
// if (message.type === 'ChatStream') {
|
||||||
// setUserMessages(prevMessages => {
|
// setUserMessages(prevMessages => {
|
||||||
// const newMessages = [...prevMessages];
|
// const newMessages = [...prevMessages];
|
||||||
// const lastMessage = newMessages[newMessages.length - 1];
|
// const lastMessage = newMessages[newMessages.length - 1];
|
||||||
|
|
||||||
// if (lastMessage && lastMessage.role === Assistant) {
|
// if (lastMessage && lastMessage.role === Assistant) {
|
||||||
// if (typeof lastMessage.content === 'string') {
|
// if (typeof lastMessage.content === 'string') {
|
||||||
// if (lastMessage.content === 'keepSearchIng') {
|
// if (lastMessage.content === 'keepSearchIng') {
|
||||||
// // 第一次收到流式消息,替换占位符
|
// // 第一次收到流式消息,替换占位符
|
||||||
// lastMessage.content = message.chunk;
|
// lastMessage.content = message.chunk;
|
||||||
// } else {
|
// } else {
|
||||||
// // 持续追加流式消息
|
// // 持续追加流式消息
|
||||||
// lastMessage.content += message.chunk;
|
// lastMessage.content += message.chunk;
|
||||||
// }
|
// }
|
||||||
// } else {
|
// } else {
|
||||||
// // 如果 content 是数组,则更新第一个 text 部分
|
// // 如果 content 是数组,则更新第一个 text 部分
|
||||||
// const textPart = lastMessage.content.find(p => p.type === 'text');
|
// const textPart = lastMessage.content.find(p => p.type === 'text');
|
||||||
// if (textPart) {
|
// if (textPart) {
|
||||||
// textPart.text = (textPart.text || '') + message.chunk;
|
// textPart.text = (textPart.text || '') + message.chunk;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// return newMessages;
|
// return newMessages;
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// };
|
// };
|
||||||
|
|
||||||
// const handleChatStreamEnd = (message: WsMessage) => {
|
// const handleChatStreamEnd = (message: WsMessage) => {
|
||||||
// if (message.type === 'ChatStreamEnd') {
|
// if (message.type === 'ChatStreamEnd') {
|
||||||
// setUserMessages(prevMessages => {
|
// setUserMessages(prevMessages => {
|
||||||
// const newMessages = [...prevMessages];
|
// const newMessages = [...prevMessages];
|
||||||
// const lastMessage = newMessages[newMessages.length - 1];
|
// const lastMessage = newMessages[newMessages.length - 1];
|
||||||
// if (lastMessage && lastMessage.role === Assistant) {
|
// if (lastMessage && lastMessage.role === Assistant) {
|
||||||
// // 使用最终消息替换流式消息,确保 message.message 存在
|
// // 使用最终消息替换流式消息,确保 message.message 存在
|
||||||
// if (message.message) {
|
// if (message.message) {
|
||||||
// newMessages[newMessages.length - 1] = message.message as Message;
|
// newMessages[newMessages.length - 1] = message.message as Message;
|
||||||
// } else {
|
// } else {
|
||||||
// // 如果最终消息为空,则移除 'keepSearchIng' 占位符
|
// // 如果最终消息为空,则移除 'keepSearchIng' 占位符
|
||||||
// return prevMessages.filter(m => !(typeof m.content === 'string' && m.content === 'keepSearchIng'));
|
// return prevMessages.filter(m => !(typeof m.content === 'string' && m.content === 'keepSearchIng'));
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// return newMessages;
|
// return newMessages;
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// };
|
// };
|
||||||
|
|
||||||
// const handleError = (message: WsMessage) => {
|
// const handleError = (message: WsMessage) => {
|
||||||
// if (message.type === 'Error') {
|
// if (message.type === 'Error') {
|
||||||
// console.log(`WebSocket Error: ${message.code} - ${message.message}`);
|
// console.log(`WebSocket Error: ${message.code} - ${message.message}`);
|
||||||
// // 可以在这里添加错误提示,例如替换最后一条消息为错误信息
|
// // 可以在这里添加错误提示,例如替换最后一条消息为错误信息
|
||||||
// setUserMessages(prev => {
|
// setUserMessages(prev => {
|
||||||
// // 创建新的数组和新的消息对象
|
// // 创建新的数组和新的消息对象
|
||||||
// return prev.map((msg, index) => {
|
// return prev.map((msg, index) => {
|
||||||
// if (index === prev.length - 1 &&
|
// if (index === prev.length - 1 &&
|
||||||
// typeof msg.content === 'string' &&
|
// typeof msg.content === 'string' &&
|
||||||
// msg.content === 'keepSearchIng') {
|
// msg.content === 'keepSearchIng') {
|
||||||
// // 返回新的消息对象
|
// // 返回新的消息对象
|
||||||
// return {
|
// return {
|
||||||
// ...msg,
|
// ...msg,
|
||||||
// content: getWebSocketErrorMessage(message.code, t)
|
// content: getWebSocketErrorMessage(message.code, t)
|
||||||
// };
|
// };
|
||||||
// }
|
// }
|
||||||
// return msg;
|
// return msg;
|
||||||
// });
|
// });
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// };
|
// };
|
||||||
|
|
||||||
// webSocketManager.subscribe('ChatStream', handleChatStream);
|
// webSocketManager.subscribe('ChatStream', handleChatStream);
|
||||||
// webSocketManager.subscribe('ChatStreamEnd', handleChatStreamEnd);
|
// webSocketManager.subscribe('ChatStreamEnd', handleChatStreamEnd);
|
||||||
// webSocketManager.subscribe('Error', handleError);
|
// webSocketManager.subscribe('Error', handleError);
|
||||||
|
|
||||||
// return () => {
|
// return () => {
|
||||||
// webSocketManager.unsubscribe('ChatStream', handleChatStream);
|
// webSocketManager.unsubscribe('ChatStream', handleChatStream);
|
||||||
// webSocketManager.unsubscribe('ChatStreamEnd', handleChatStreamEnd);
|
// webSocketManager.unsubscribe('ChatStreamEnd', handleChatStreamEnd);
|
||||||
// webSocketManager.unsubscribe('Error', handleError);
|
// webSocketManager.unsubscribe('Error', handleError);
|
||||||
// // 可以在这里选择断开连接,或者保持连接以加快下次进入页面的速度
|
// // 可以在这里选择断开连接,或者保持连接以加快下次进入页面的速度
|
||||||
// // webSocketManager.disconnect();
|
// // webSocketManager.disconnect();
|
||||||
// };
|
// };
|
||||||
// }, [])
|
}, [])
|
||||||
// );
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (sessionId) {
|
if (sessionId) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user