kobe6258 1 月之前
父节点
当前提交
bc956ede8c
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      utils/ws/session_manager.go

+ 6 - 4
utils/ws/session_manager.go

@@ -60,9 +60,6 @@ func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, me
 	if !exists {
 	if !exists {
 		return errors.New("session not found")
 		return errors.New("session not found")
 	}
 	}
-	if string(message) == "pong" {
-		return nil
-	}
 	var userMessage Message
 	var userMessage Message
 	err := json.Unmarshal(message, &userMessage)
 	err := json.Unmarshal(message, &userMessage)
 	if err != nil {
 	if err != nil {
@@ -74,14 +71,19 @@ func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, me
 
 
 	resp, err := llmService.KnowledgeBaseChat(userMessage.Query, userMessage.KbName, session.History)
 	resp, err := llmService.KnowledgeBaseChat(userMessage.Query, userMessage.KbName, session.History)
 	defer func() {
 	defer func() {
-		if resp != nil && resp.Body != nil {
+		if resp != nil && resp.Body != nil && err == nil {
 			_ = resp.Body.Close()
 			_ = resp.Body.Close()
 		}
 		}
 	}()
 	}()
+	if resp == nil {
+		return errors.New("知识库问答失败: 无应答")
+	}
+
 	if err != nil {
 	if err != nil {
 		err = errors.New(fmt.Sprintf("知识库问答失败: httpCode:%d,错误信息:%s", resp.StatusCode, http.StatusText(resp.StatusCode)))
 		err = errors.New(fmt.Sprintf("知识库问答失败: httpCode:%d,错误信息:%s", resp.StatusCode, http.StatusText(resp.StatusCode)))
 		return err
 		return err
 	}
 	}
+
 	if resp.StatusCode != http.StatusOK {
 	if resp.StatusCode != http.StatusOK {
 		err = errors.New(fmt.Sprintf("知识库问答失败: httpCode:%d,错误信息:%s", resp.StatusCode, http.StatusText(resp.StatusCode)))
 		err = errors.New(fmt.Sprintf("知识库问答失败: httpCode:%d,错误信息:%s", resp.StatusCode, http.StatusText(resp.StatusCode)))
 		return err
 		return err