eatmoreapple / openwechat

golang微信SDK
Apache License 2.0
4.76k stars 922 forks source link

使用过程中遇到的 API 问题 #530

Open CliffHan opened 3 weeks ago

CliffHan commented 3 weeks ago

目前遇到两个问题。

  1. 操作是这样的:正常登录完成,在一个 go routine 中,调用 bot.Block() 阻塞。然后在另一个 go routine 中调用 bot.Logout() 这时 bot.Block() 会结束,然后返回错误 ”cookie invalid“。 这里我不太理解,因为是正常的 Logout,不应该返回错误才对啊。是设计问题吗?
  2. 登录后接收消息正常,然后 Logout 退出。使用同一个 Bot 再次调用 Login,会出现报错: wechat network error\nGet \"https://login.wx.qq.com/jslogin?......\": context canceled" 这是微信 web 接口限制,还是 API 实现错误呢?

求解答,谢谢。

CliffHan commented 3 weeks ago

看了一会代码,问题 2 似乎是因为 Bot 没有重置导致的。如果我重新创建 Bot,就一切正常了,感觉主要是 UUID 只能用一次。如果是设计如此的话,感觉这点最好在 API 文档中声明一下。

问题 1 的话,不管是在 API 一侧调用 Logout,还是在手机上登出,结果都是一样的,都是 cookie invalid 错误。不知道为什么。