From bf1b0f391f977060f939e41240773609e3a1e322 Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Mon, 16 Jun 2025 13:58:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=20ParseStructMessages?= =?UTF-8?q?=20=E5=87=BD=E6=95=B0=E4=B8=AD=E7=9A=84=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=96=AD=E8=A8=80=EF=BC=8C=E5=B0=86=E5=8E=9F=E6=9C=89=E7=9A=84?= =?UTF-8?q?=20any=20=E7=B1=BB=E5=9E=8B=E6=9B=BF=E6=8D=A2=E4=B8=BA=E5=85=B7?= =?UTF-8?q?=E4=BD=93=E7=9A=84=20map[string]any=EF=BC=8C=E4=BB=A5=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E6=B6=88=E6=81=AF=E8=A7=A3=E6=9E=90=E7=9A=84=E5=87=86?= =?UTF-8?q?=E7=A1=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qq_message/cq_message.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/qq_message/cq_message.go b/qq_message/cq_message.go index c7c5a99..41e35b3 100644 --- a/qq_message/cq_message.go +++ b/qq_message/cq_message.go @@ -54,16 +54,17 @@ func CreateMessage(messageType string) (QQMessage, error) { func ParseStructMessages(msgData any) []QQMessage { log.Println("解析消息数组:", msgData) switch msgData := msgData.(type) { - case []map[any]any: + case []interface{}: msgArray := msgData messages := make([]QQMessage, 0, len(msgArray)) for _, raw := range msgArray { - msg, err := CreateMessage(raw["type"].(string)) + rawMap := raw.(map[string]any) + msg, err := CreateMessage(rawMap["type"].(string)) if err != nil { log.Println("创建消息失败:", err) continue } - dataByte, _ := json.Marshal(raw["data"]) + dataByte, _ := json.Marshal(rawMap["data"]) // 使用类型断言获取具体类型的Data字段 if v, ok := msg.(interface{ SetData(json.RawMessage) error }); ok { if err := v.SetData(dataByte); err != nil { @@ -72,7 +73,7 @@ func ParseStructMessages(msgData any) []QQMessage { continue } } else { - log.Printf("消息类型 %s 未实现 SetData 方法\n", raw["type"]) + log.Printf("消息类型 %s 未实现 SetData 方法\n", rawMap["type"]) continue }