1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-03-01 00:35:26 +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
View File
@@ -26,25 +26,31 @@ func NewMemory() *Memory {
// Get return cached value // Get return cached value
func (mem *Memory) Get(key string) interface{} { func (mem *Memory) Get(key string) interface{} {
mem.Lock()
if ret, ok := mem.data[key]; ok { if ret, ok := mem.data[key]; ok {
mem.Unlock()
if ret.Expired.Before(time.Now()) { if ret.Expired.Before(time.Now()) {
mem.deleteKey(key) mem.deleteKey(key)
return nil return nil
} }
return ret.Data return ret.Data
} }
mem.Unlock()
return nil return nil
} }
// IsExist check value exists in memcache. // IsExist check value exists in memcache.
func (mem *Memory) IsExist(key string) bool { func (mem *Memory) IsExist(key string) bool {
mem.Lock()
if ret, ok := mem.data[key]; ok { if ret, ok := mem.data[key]; ok {
mem.Unlock()
if ret.Expired.Before(time.Now()) { if ret.Expired.Before(time.Now()) {
mem.deleteKey(key) mem.deleteKey(key)
return false return false
} }
return true return true
} }
mem.Unlock()
return false return false
} }
+11 -1
View File
@@ -79,6 +79,10 @@ type sendRequest struct {
Mpnews map[string]interface{} `json:"mpnews,omitempty"` Mpnews map[string]interface{} `json:"mpnews,omitempty"`
// 发送语音 // 发送语音
Voice map[string]interface{} `json:"voice,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"` Images *Image `json:"images,omitempty"`
// 发送卡券 // 发送卡券
@@ -183,7 +187,13 @@ func (broadcast *Broadcast) SendImage(user *User, images *Image) (*Result, error
ToUser: nil, ToUser: nil,
MsgType: MsgTypeImage, MsgType: MsgTypeImage,
} }
if broadcast.preview {
req.Image = map[string]interface{}{
"media_id": images.MediaIDs[0],
}
} else {
req.Images = images req.Images = images
}
req, sendURL := broadcast.chooseTagOrOpenID(user, req) req, sendURL := broadcast.chooseTagOrOpenID(user, req)
url := fmt.Sprintf("%s?access_token=%s", sendURL, ak) url := fmt.Sprintf("%s?access_token=%s", sendURL, ak)
data, err := util.PostJSON(url, req) data, err := util.PostJSON(url, req)
@@ -205,7 +215,7 @@ func (broadcast *Broadcast) SendVideo(user *User, mediaID string, title, descrip
ToUser: nil, ToUser: nil,
MsgType: MsgTypeVideo, MsgType: MsgTypeVideo,
} }
req.Voice = map[string]interface{}{ req.Mpvideo = map[string]interface{}{
"media_id": mediaID, "media_id": mediaID,
"title": title, "title": title,
"description": description, "description": description,