//go:build linux && cgo && msgaudit // +build linux,cgo,msgaudit package wework import ( "errors" "fmt" "github.com/silenceper/wechat/v2/work/msgaudit" "hongze/hongze_open_api/utils" ) func (w *WeWorkMsgAuditClient) GetMsgAuditContent(seq, limit uint64, timeout int) (list []msgaudit.TextMessage, seqRes uint64, errMsg error) { client := w.Client //同步消息 chatDataList, err := client.GetChatData(seq, limit, "", "", timeout) if err != nil { utils.FileLog.Info(fmt.Sprintf("企业微信 会议存档消息同步失败:%v \n\n", err)) errMsg = errors.New("企业微信 会议存档消息同步失败:"+err.Error()) return } if len(chatDataList) == 0 { return } for _, chatData := range chatDataList { seqRes = chatData.Seq //消息解密 chatInfo, err := client.DecryptData(chatData.EncryptRandomKey, chatData.EncryptChatMsg) if err != nil { utils.FileLog.Info(fmt.Sprintf("消息解密失败:%v \n", err)) errMsg = errors.New("企业微信 消息解密失败:"+err.Error()) return } if chatInfo.Type == "image" { /*image, _ := chatInfo.GetImageMessage() sdkFileID := image.Image.SdkFileID isFinish := false buffer := bytes.Buffer{} indexBuf := "" for !isFinish { //获取媒体数据 mediaData, err := client.GetMediaData(indexBuf, sdkFileID, "", "", 5) if err != nil { utils.FileLog.Info(fmt.Sprintf("媒体数据拉取失败:%v \n", err)) errMsg = errors.New("企业微信 媒体数据拉取失败:"+err.Error()) return } buffer.Write(mediaData.Data) if mediaData.IsFinish { isFinish = mediaData.IsFinish } indexBuf = mediaData.OutIndexBuf } filePath, _ := os.Getwd() filePath = path.Join(filePath, "test.png") err := ioutil.WriteFile(filePath, buffer.Bytes(), 0666) if err != nil { utils.FileLog.Info(fmt.Sprintf("文件存储失败:%v \n", err)) errMsg = errors.New("企业微信 文件存储失败:"+err.Error()) return } break*/ continue }else if chatInfo.Type == "text" { msg, err := chatInfo.GetTextMessage() if err != nil { utils.FileLog.Info(fmt.Sprintf("查询消息类型失败:%v \n", err)) errMsg = errors.New("企业微信 查询消息类型失败:"+err.Error()) return } utils.FileLog.Info(fmt.Sprintf("明文:%s \n", msg)) list = append(list, msg) } } //释放SDK实例 client.Free() return }