1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-02-23 13:42:25 +08:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Leo
1889a2303b Merge d55a170570 into 74795e86ee 2024-04-03 14:18:12 +08:00
Leo
74795e86ee fix:群发视频消息及预览图片消息错误修复 (#774)
* fix:群发图片预览消息无效

* fix:群发视频消息参数名称错误

---------

Co-authored-by: wuweichao <wuweichao@dobest.com>
2024-03-28 16:28:03 +08:00
yuan
d55a170570 fix: memory 并发读写问题 2023-05-20 15:45:24 +08:00
2 changed files with 18 additions and 2 deletions

6
cache/memory.go vendored
View File

@@ -26,25 +26,31 @@ func NewMemory() *Memory {
// Get return cached value
func (mem *Memory) Get(key string) interface{} {
mem.Lock()
if ret, ok := mem.data[key]; ok {
mem.Unlock()
if ret.Expired.Before(time.Now()) {
mem.deleteKey(key)
return nil
}
return ret.Data
}
mem.Unlock()
return nil
}
// IsExist check value exists in memcache.
func (mem *Memory) IsExist(key string) bool {
mem.Lock()
if ret, ok := mem.data[key]; ok {
mem.Unlock()
if ret.Expired.Before(time.Now()) {
mem.deleteKey(key)
return false
}
return true
}
mem.Unlock()
return false
}

View File

@@ -79,6 +79,10 @@ type sendRequest struct {
Mpnews map[string]interface{} `json:"mpnews,omitempty"`
// 发送语音
Voice map[string]interface{} `json:"voice,omitempty"`
// 发送视频
Mpvideo map[string]interface{} `json:"mpvideo,omitempty"`
// 发送图片-预览使用
Image map[string]interface{} `json:"image,omitempty"`
// 发送图片
Images *Image `json:"images,omitempty"`
// 发送卡券
@@ -183,7 +187,13 @@ func (broadcast *Broadcast) SendImage(user *User, images *Image) (*Result, error
ToUser: nil,
MsgType: MsgTypeImage,
}
req.Images = images
if broadcast.preview {
req.Image = map[string]interface{}{
"media_id": images.MediaIDs[0],
}
} else {
req.Images = images
}
req, sendURL := broadcast.chooseTagOrOpenID(user, req)
url := fmt.Sprintf("%s?access_token=%s", sendURL, ak)
data, err := util.PostJSON(url, req)
@@ -205,7 +215,7 @@ func (broadcast *Broadcast) SendVideo(user *User, mediaID string, title, descrip
ToUser: nil,
MsgType: MsgTypeVideo,
}
req.Voice = map[string]interface{}{
req.Mpvideo = map[string]interface{}{
"media_id": mediaID,
"title": title,
"description": description,