1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package pkg
- import (
- "cicv-data-closedloop/aarch64/pjibot_guide/common/config"
- "encoding/json"
- "fmt"
- "log"
- "time"
- )
- type StatusMessage struct {
- Type string `json:"type"`
- Topic string `json:"topic"`
- Time int64 `json:"time"`
- Data interface{} `json:"data"`
- }
- func GetLocalStatus(localStatus *string) {
- for {
- time.Sleep(30 * time.Second)
- _, msg, err := config.WsConn.ReadMessage()
- if err != nil {
- log.Println("Error in receive:", err)
- 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" {
- data := statusMessage.Data.(map[string]interface{})
- fmt.Println("statusMessage.Data", data)
- fmt.Println("statusMessage.Data[\"taskStatus\"]", data["taskStatus"])
- *localStatus = data["taskStatus"].(string)
- }
- }
- }
|