|
@@ -56,9 +56,7 @@ func Manager() *ConnectionManager {
|
|
|
|
|
|
// HandleMessage 消息处理核心逻辑
|
|
|
func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, message []byte) error {
|
|
|
- if !Allow(userID, QA_LIMITER) {
|
|
|
- return errors.New("您提问的太频繁了,请稍后再试")
|
|
|
- }
|
|
|
+
|
|
|
session, exists := manager.GetSession(sessionID)
|
|
|
if !exists {
|
|
|
return errors.New("session not found")
|
|
@@ -68,6 +66,11 @@ func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, me
|
|
|
fmt.Printf("收到心跳消息,续期长连接:%v", session.LastActive)
|
|
|
return nil
|
|
|
}
|
|
|
+ if !Allow(userID, QA_LIMITER) {
|
|
|
+ _ = session.Conn.WriteMessage(websocket.TextMessage, []byte("您提问的太频繁了,请稍后再试"))
|
|
|
+ _ = session.Conn.WriteMessage(websocket.TextMessage, []byte("<EOF/>"))
|
|
|
+ return nil
|
|
|
+ }
|
|
|
var userMessage Message
|
|
|
err := json.Unmarshal(message, &userMessage)
|
|
|
if err != nil {
|