|
@@ -29,6 +29,13 @@ type Response struct {
|
|
UUID string `json:"uuid"`
|
|
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字段的值
|
|
// SendWebsocketRequest 发送WebSocket请求并返回sn字段的值
|
|
func SendWebsocketRequest(serverURL, path string, request Request) (string, error) {
|
|
func SendWebsocketRequest(serverURL, path string, request Request) (string, error) {
|
|
// 构建WebSocket连接URL
|
|
// 构建WebSocket连接URL
|
|
@@ -132,9 +139,21 @@ func receiveHandler(connection *websocket.Conn) {
|
|
_, msg, err := connection.ReadMessage()
|
|
_, msg, err := connection.ReadMessage()
|
|
if err != nil {
|
|
if err != nil {
|
|
log.Println("Error in receive:", err)
|
|
log.Println("Error in receive:", err)
|
|
- return
|
|
|
|
|
|
+ break
|
|
}
|
|
}
|
|
log.Printf("Received: %s\n", msg)
|
|
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"])
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|