添加消息已读功能
This commit is contained in:
parent
6e683358ef
commit
825dc51bf9
@ -327,6 +327,15 @@ func (c *Caller) WebWxRevokeMsg(msg *SentMessage, request *BaseRequest) error {
|
|||||||
return parseBaseResponseError(resp)
|
return parseBaseResponseError(resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WebWxStatusAsRead 将消息设置为已读
|
||||||
|
func (c *Caller) WebWxStatusAsRead(request *BaseRequest, info *LoginInfo, msg *Message) error {
|
||||||
|
resp, err := c.Client.WebWxStatusAsRead(request, info, msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return parseBaseResponseError(resp)
|
||||||
|
}
|
||||||
|
|
||||||
// 处理响应返回的结果是否正常
|
// 处理响应返回的结果是否正常
|
||||||
func parseBaseResponseError(resp *http.Response) error {
|
func parseBaseResponseError(resp *http.Response) error {
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
19
client.go
19
client.go
@ -655,3 +655,22 @@ func (c *Client) webWxCheckUpload(stat os.FileInfo, request *BaseRequest, fileMd
|
|||||||
req.Header.Add("Content-Type", jsonContentType)
|
req.Header.Add("Content-Type", jsonContentType)
|
||||||
return c.Do(req)
|
return c.Do(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Client) WebWxStatusAsRead(request *BaseRequest, info *LoginInfo, msg *Message) (*http.Response, error) {
|
||||||
|
path, _ := url.Parse(c.domain.BaseHost() + webwxstatusnotify)
|
||||||
|
content := map[string]interface{}{
|
||||||
|
"BaseRequest": request,
|
||||||
|
"DeviceID": request.DeviceID,
|
||||||
|
"Sid": request.Sid,
|
||||||
|
"Skey": request.Skey,
|
||||||
|
"Uin": info.WxUin,
|
||||||
|
"ClientMsgId": time.Now().Unix(),
|
||||||
|
"Code": 1,
|
||||||
|
"FromUserName": msg.ToUserName,
|
||||||
|
"ToUserName": msg.FromUserName,
|
||||||
|
}
|
||||||
|
body, _ := ToBuffer(content)
|
||||||
|
req, _ := http.NewRequest(http.MethodPost, path.String(), body)
|
||||||
|
req.Header.Add("Content-Type", jsonContentType)
|
||||||
|
return c.Do(req)
|
||||||
|
}
|
||||||
|
@ -287,6 +287,11 @@ func (m *Message) Agree(verifyContents ...string) error {
|
|||||||
return m.Bot.Caller.WebWxVerifyUser(m.Bot.storage, m.RecommendInfo, builder.String())
|
return m.Bot.Caller.WebWxVerifyUser(m.Bot.storage, m.RecommendInfo, builder.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AsRead 将消息设置为已读
|
||||||
|
func (m *Message) AsRead() error {
|
||||||
|
return m.Bot.Caller.WebWxStatusAsRead(m.Bot.storage.Request, m.Bot.storage.LoginInfo, m)
|
||||||
|
}
|
||||||
|
|
||||||
// Set 往消息上下文中设置值
|
// Set 往消息上下文中设置值
|
||||||
// goroutine safe
|
// goroutine safe
|
||||||
func (m *Message) Set(key string, value interface{}) {
|
func (m *Message) Set(key string, value interface{}) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user