|
@@ -8,16 +8,10 @@ import (
|
|
"time"
|
|
"time"
|
|
)
|
|
)
|
|
|
|
|
|
-type StatusMessage struct {
|
|
|
|
- Type string `json:"type"`
|
|
|
|
- Topic string `json:"topic"`
|
|
|
|
- Time int64 `json:"time"`
|
|
|
|
- Data interface{} `json:"data"`
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func GetLocalStatus(localStatus *string) {
|
|
|
|
|
|
+func GetLocalStatus(status *string, turnLength int) {
|
|
|
|
+ // 轮询本地任务状态
|
|
for {
|
|
for {
|
|
- time.Sleep(2 * time.Second)
|
|
|
|
|
|
+ time.Sleep(time.Duration(turnLength) * time.Second)
|
|
_, msg, err := config.WsConn.ReadMessage()
|
|
_, msg, err := config.WsConn.ReadMessage()
|
|
if err != nil {
|
|
if err != nil {
|
|
log.Println("Error in receive:", err)
|
|
log.Println("Error in receive:", err)
|
|
@@ -26,19 +20,18 @@ func GetLocalStatus(localStatus *string) {
|
|
log.Printf("Received: %s\n", msg)
|
|
log.Printf("Received: %s\n", msg)
|
|
|
|
|
|
// 将响应字节解码为JSON
|
|
// 将响应字节解码为JSON
|
|
- var statusMessage StatusMessage
|
|
|
|
|
|
+ var statusMessage config.StatusMessage
|
|
err = json.Unmarshal(msg, &statusMessage)
|
|
err = json.Unmarshal(msg, &statusMessage)
|
|
if err != nil {
|
|
if err != nil {
|
|
log.Println("Error in receive:", err)
|
|
log.Println("Error in receive:", err)
|
|
break
|
|
break
|
|
}
|
|
}
|
|
- fmt.Println("statusMessage:", statusMessage)
|
|
|
|
-
|
|
|
|
if statusMessage.Type == "push" && statusMessage.Topic == "robotStatus" {
|
|
if statusMessage.Type == "push" && statusMessage.Topic == "robotStatus" {
|
|
|
|
+ fmt.Println("statusMessage:", statusMessage)
|
|
data := statusMessage.Data.(map[string]interface{})
|
|
data := statusMessage.Data.(map[string]interface{})
|
|
fmt.Println("statusMessage.Data", data)
|
|
fmt.Println("statusMessage.Data", data)
|
|
fmt.Println("statusMessage.Data[\"taskStatus\"]", data["taskStatus"])
|
|
fmt.Println("statusMessage.Data[\"taskStatus\"]", data["taskStatus"])
|
|
- *localStatus = data["taskStatus"].(string)
|
|
|
|
|
|
+ *status = data["taskStatus"].(string)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|