Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

微信登录后24小时内自动被迫登出 #334

Open
superzou2021 opened this issue Dec 28, 2023 · 7 comments
Open

微信登录后24小时内自动被迫登出 #334

superzou2021 opened this issue Dec 28, 2023 · 7 comments

Comments

@superzou2021
Copy link

我修改了node_modules/wechat4u/lib/wechat.js:302的new Error的内容,所有的自动登出报错由此产生,并使用cron.js设置每10分钟主动往群里发送一条消息,但是几个小时后,依旧莫名被退出登录,报错信息如下:
测试自动登出 17:20:0
uncaughtException GError: 状态同步超过351.401s未响应,5s后尝试重启当前时间17:21:21
at Wechat.checkPolling (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:302:19)
at Timeout._onTimeout (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:323:25)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7) {
code: 2,
details: 'Error: 状态同步超过351.401s未响应,5s后尝试重启当前时间17:21:21\n' +
' at Wechat.checkPolling (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:302:19)\n' +
' at Timeout._onTimeout (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:323:25)\n' +
' at listOnTimeout (node:internal/timers:573:17)\n' +
' at process.processTimers (node:internal/timers:514:7)'
}
可以明显的看出,我主动发送消息的时间是17:20:0,但是17:21:21却提示状态同步超过351s未响应,请问该如何解决这个问题

@my19940202
Copy link

这个问题 后来有解决吗

@allforone
Copy link

+1

1 similar comment
@DogeVenci
Copy link

+1

@superzou2021
Copy link
Author

抱歉各位,这个问题后面没有得到解决,但是我在官方的discrod群内看到了官方所推荐的付费框架中解决了这类的问题,如果你想免费使用这个框架,目前来看是需要接受这个缺陷的,如果你原意付费使用,那么官方有提供最新的,更为全面的api框架,大抵是通过一个pc版本的微信客户端+系统协议来对相关操作进行封装

@superzou2021
Copy link
Author

ok,各位开发者们,我忽然想到了一个可能性,并且我认为这个可能性比较合理。
我不清楚各位开发者们是用什么进行扫码登录的,但是我自己是使用手机登录了微信之后进行扫码登录,由于微信的移动端优先级最高策略,当手机上的微信退出登录或者断了网络(总之就是手机端和微信服务器断开连接)超过一定的时间之后,微信就会被判断为离线状态,依赖于手机端登录的web微信也会被退出登录,所以有可能这就是框架抛出一个心跳检测超时的错误原因?(存疑)。
解决思路如下:
1.我开始的时候以为是因为长时间没有发送消息,所以使用cron.js设置了定时任务,主动在群内不断的发送消息,依然超时,失败
2.考虑是否能租赁一个云手机或者在服务器上部署一个安卓模拟器的应用,然后尽可能的让App的微信保持一个登录状态,然后再运行你的程序,扫码登录。(由于成本问题,我并未对此进行实践,如果有人进行该项尝试,欢迎与我分享结果)

@allforone
Copy link

pad版就是这个思路,可惜作者联系不上,不维护了

@zuochenxue
Copy link

抱歉各位,这个问题后面没有得到解决,但是我在官方的discrod群内看到了官方所推荐的付费框架中解决了这类的问题,如果你想免费使用这个框架,目前来看是需要接受这个缺陷的,如果你原意付费使用,那么官方有提供最新的,更为全面的api框架,大抵是通过一个pc版本的微信客户端+系统协议来对相关操作进行封装

你好 请问可以提供一下付费框架的链接吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants