Browse Source

test websocket

HeWang 7 months ago
parent
commit
79c36d869e
1 changed files with 20 additions and 1 deletions
  1. 20 1
      tools/pji_api/main/main.go

+ 20 - 1
tools/pji_api/main/main.go

@@ -29,6 +29,13 @@ type Response struct {
 	UUID      string            `json:"uuid"`
 }
 
+type StatusMessage struct {
+	Type  string                 `json:"type"`
+	Topic string                 `json:"topic"`
+	Time  string                 `json:"time"`
+	Data  map[string]interface{} `json:"data"`
+}
+
 // SendWebsocketRequest 发送WebSocket请求并返回sn字段的值
 func SendWebsocketRequest(serverURL, path string, request Request) (string, error) {
 	// 构建WebSocket连接URL
@@ -132,9 +139,21 @@ func receiveHandler(connection *websocket.Conn) {
 		_, msg, err := connection.ReadMessage()
 		if err != nil {
 			log.Println("Error in receive:", err)
-			return
+			break
 		}
 		log.Printf("Received: %s\n", msg)
+		// 将响应字节解码为JSON
+		var statusMessage StatusMessage
+		err = json.Unmarshal(msg, &statusMessage)
+		if err != nil {
+			log.Println("Error in receive:", err)
+			break
+		}
+		fmt.Println("statusMessage:", statusMessage)
+		if statusMessage.Type == "push" && statusMessage.Topic == "robotStatus" {
+			fmt.Println("statusMessage.Data", statusMessage.Data)
+			fmt.Println("statusMessage.Data[\"taskStatus\"]", statusMessage.Data["taskStatus"])
+		}
 	}
 }