修改同步消息时的deviceId

This commit is contained in:
eatmoreapple 2021-08-23 20:53:39 +08:00
parent 9eb84837cb
commit 93564fabb5
5 changed files with 438 additions and 438 deletions

2
bot.go
View File

@ -229,7 +229,7 @@ func (b *Bot) asyncCall() error {
) )
for b.Alive() { for b.Alive() {
// 长轮询检查是否有消息返回 // 长轮询检查是否有消息返回
resp, err = b.Caller.SyncCheck(b.Storage.LoginInfo, b.Storage.Response) resp, err = b.Caller.SyncCheck(b.Storage.Request, b.Storage.LoginInfo, b.Storage.Response)
if err != nil { if err != nil {
return err return err
} }

View File

@ -135,8 +135,8 @@ func (c *Caller) WebWxStatusNotify(request *BaseRequest, response *WebInitRespon
} }
// SyncCheck 异步获取是否有新的消息 // SyncCheck 异步获取是否有新的消息
func (c *Caller) SyncCheck(info *LoginInfo, response *WebInitResponse) (*SyncCheckResponse, error) { func (c *Caller) SyncCheck(request *BaseRequest, info *LoginInfo, response *WebInitResponse) (*SyncCheckResponse, error) {
resp, err := c.Client.SyncCheck(info, response) resp, err := c.Client.SyncCheck(request, info, response)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -195,14 +195,14 @@ func (c *Client) WebWxStatusNotify(request *BaseRequest, response *WebInitRespon
} }
// SyncCheck 异步检查是否有新的消息返回 // SyncCheck 异步检查是否有新的消息返回
func (c *Client) SyncCheck(info *LoginInfo, response *WebInitResponse) (*http.Response, error) { func (c *Client) SyncCheck(request *BaseRequest, info *LoginInfo, response *WebInitResponse) (*http.Response, error) {
path, _ := url.Parse(c.Domain.SyncHost() + synccheck) path, _ := url.Parse(c.Domain.SyncHost() + synccheck)
params := url.Values{} params := url.Values{}
params.Add("r", strconv.FormatInt(time.Now().Unix(), 10)) params.Add("r", strconv.FormatInt(time.Now().Unix(), 10))
params.Add("skey", info.SKey) params.Add("skey", info.SKey)
params.Add("sid", info.WxSid) params.Add("sid", info.WxSid)
params.Add("uin", strconv.Itoa(info.WxUin)) params.Add("uin", strconv.Itoa(info.WxUin))
params.Add("deviceid", GetRandomDeviceId()) params.Add("deviceid", request.DeviceID)
params.Add("_", strconv.FormatInt(time.Now().Unix(), 10)) params.Add("_", strconv.FormatInt(time.Now().Unix(), 10))
var syncKeyStringSlice = make([]string, response.SyncKey.Count) var syncKeyStringSlice = make([]string, response.SyncKey.Count)
// 将SyncKey里面的元素按照特定的格式拼接起来 // 将SyncKey里面的元素按照特定的格式拼接起来