wechaty / wechaty-puppet-padplus

DEPRECATED: One puppet based on iPad protocal for Wechaty
https://wechaty.js.org/docs/puppet-services/
317 stars 65 forks source link

`bot.logout()` 多次触发 stop 、start事件 #329

Open KAWATAAAAAA opened 1 year ago

KAWATAAAAAA commented 1 year ago

1. Versions

2. Describe the bug

在微信App中点击退出登录,或者在代码中调用 bot.logout() ,均会多次触发 stop ,onStop , 接着会触发 start , onStart

3. To Reproduce

  1. 在微信App中点击退出登录 / 代码中调用 bot.logout()
  2. 自动触发弹窗扫码

4. Expected behavior

在用户点击退出登录后/ 或者在代码中调用 bot.logout() 很有可能说明

  1. 可能想换一个token来托管这个号
  2. 这个号不再作为机器人进行管理

这种情况应当要做到不弹窗,突然过了1秒钟左右又给我弹出来要我重新登录,好像是个bug

这可能是一个正常的逻辑,但是如果使用了 stop后,则不应该发生后续的事件

在stop后应该不进行登录的任何操作,也不要触发 onScan 事件

5. Actual behavior

多次触发

stop

start

6. Full Output Logs

Show Logs ```shell 18:03:35 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:35 SILL GRPC_GATEWAY responseType: ACCOUNT_LOGOUT, data : {"code":200,"logoutCode":-2023,"uin":1103245599,"message":"你已退出微信","mqType":1100} 18:03:35 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:35 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:03:35 VERB Watchdog feed({"data":""}) 18:03:35 VERB Watchdog timerLeft() = 33040 18:03:35 VERB Watchdog stopTimer() 18:03:35 VERB Watchdog startTimer() 18:03:35 INFO PuppetPadplus logout(你已退出微信, true) 18:03:35 VERB PuppetLoginMixin logout(你已退出微信) 18:03:35 SILL PuppetLoginMixin get currentUserId() 18:03:35 SILL StateSwitch inactive() is false 18:03:35 VERB StateSwitch inactive(true) <- (false) 18:03:35 SILL Contact find({"id":"wxid_00j4zrd47usu12"}) 18:03:35 SILL PuppetLoginMixin get currentUserId() 18:03:35 SILL Contact ready() @ Puppet(./remember-me/puppet_padplus_803f4f5edcc8f6a7) with id="wxid_00j4zrd47usu12" 18:03:35 SILL Contact ready() isReady() true 18:03:35 SILL PuppetLoginMixin get currentUserId() 18:03:35 INFO -- logout, reason: 你已退出微信 你已退出微信 18:03:35 VERB ContactSelf name() 18:03:35 INFO PuppetPadplus stop() 18:03:35 INFO PuppetPadplus logout(logout in wechaty, true) 18:03:35 VERB PuppetLoginMixin logout(logout in wechaty) 18:03:35 VERB PuppetLoginMixin logout() isLoggedIn === false, do nothing 18:03:35 SILL PadplusManager stop() 18:03:35 SILL GRPC_GATEWAY stop() 18:03:35 SILL GRPC_GATEWAY GRPC Request ApiType: CLOSE 18:03:35 SILL GRPC_GATEWAY GRPC Request ApiType: CLOSE catch error. 18:03:40 VERB CacheManager release() 18:03:40 VERB CacheManager releaseCache() 18:03:40 SILL CacheManager releaseCache() closing caches ... 18:03:40 SILL CacheManager releaseCache() cache closed. 18:03:40 VERB PadplusManager stop() finished 18:03:40 INFO PuppetPadplus stop() stopped 18:03:40 INFO PuppetPadplus onStart() 18:03:40 VERB PadplusManager on(scan, function) registered 18:03:40 VERB PadplusManager on(login, function) registered 18:03:40 VERB PadplusManager on(message, function) registered 18:03:40 VERB PadplusManager on(ready, function) registered 18:03:40 VERB PadplusManager on(reset, function) registered 18:03:40 VERB PadplusManager on(heartbeat, function) registered 18:03:40 VERB PadplusManager on(logout, function) registered 18:03:40 VERB PadplusManager on(room-leave, function) registered 18:03:40 VERB PadplusManager on(error, function) registered 18:03:40 SILL PadplusManager start() 18:03:40 SILL GRPC_GATEWAY init() 18:03:40 SILL GRPC_GATEWAY initSelf() 18:03:40 SILL GRPC_GATEWAY initGrpcGateway() 18:03:40 VERB MemoryCard get(WECHATY_PUPPET_PADPLUS) 18:03:40 SILL PadplusUser initInstance() 18:03:40 SILL RequestClient request() 18:03:40 SILL DedupeApi dedupe() no need to dedupe api INIT. 18:03:40 SILL GRPC_GATEWAY GRPC Request ApiType: INIT 18:03:41 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:41 SILL GRPC_GATEWAY responseType: AUTO_LOGIN, data : {"uin":1103245599,"online":false} 18:03:41 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:41 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:03:41 VERB Watchdog feed({"data":""}) 18:03:41 VERB Watchdog timerLeft() = 54019 18:03:41 VERB Watchdog stopTimer() 18:03:41 VERB Watchdog startTimer() 18:03:41 SILL PadplusManager user name : { uin: 1103245599, online: false } 18:03:41 VERB MemoryCard get(WECHATY_PUPPET_PADPLUS) 18:03:41 SILL RequestClient request() 18:03:41 SILL DedupeApi dedupe() no need to dedupe api GET_QRCODE. 18:03:41 SILL GRPC_GATEWAY GRPC Request ApiType: GET_QRCODE 18:03:41 SILL PadplusUser init success 18:03:41 VERB MemoryCard get(WECHATY_PUPPET_PADPLUS) 18:03:41 SILL PadplusUser Get qrcode with user info, res : null 18:03:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:42 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:03:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:42 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:03:42 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:03:42 SILL StateSwitch inactive() is true 18:03:42 VERB StateSwitch inactive(true) <- (true) 18:03:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:57 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:03:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:03:57 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:03:57 VERB Watchdog feed({"data":""}) 18:03:57 VERB Watchdog timerLeft() = 43738 18:03:57 VERB Watchdog stopTimer() 18:03:57 VERB Watchdog startTimer() 18:03:57 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:03:57 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:04:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:12 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:04:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:12 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:04:12 VERB Watchdog feed({"data":""}) 18:04:12 VERB Watchdog timerLeft() = 44979 18:04:12 VERB Watchdog stopTimer() 18:04:12 VERB Watchdog startTimer() 18:04:12 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:04:12 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:04:27 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:27 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:04:27 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:27 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:04:27 VERB Watchdog feed({"data":""}) 18:04:27 VERB Watchdog timerLeft() = 44985 18:04:27 VERB Watchdog stopTimer() 18:04:27 VERB Watchdog startTimer() 18:04:27 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:04:27 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:04:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:42 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:04:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:42 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:04:42 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:04:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:57 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:04:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:04:57 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:04:57 VERB Watchdog feed({"data":""}) 18:04:57 VERB Watchdog timerLeft() = 30050 18:04:57 VERB Watchdog stopTimer() 18:04:57 VERB Watchdog startTimer() 18:04:57 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:04:57 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:05:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:12 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:05:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:12 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:05:12 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:05:27 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:27 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:05:27 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:27 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:05:27 VERB Watchdog feed({"data":""}) 18:05:27 VERB Watchdog timerLeft() = 29937 18:05:27 VERB Watchdog stopTimer() 18:05:27 VERB Watchdog startTimer() 18:05:27 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:05:27 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:05:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:42 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:05:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:42 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:05:42 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:05:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:57 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:05:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:05:57 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:05:57 VERB Watchdog feed({"data":""}) 18:05:57 VERB Watchdog timerLeft() = 30068 18:05:57 VERB Watchdog stopTimer() 18:05:57 VERB Watchdog startTimer() 18:05:57 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:05:57 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:06:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:12 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:06:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:12 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:06:12 VERB Watchdog feed({"data":""}) 18:06:12 VERB Watchdog timerLeft() = 44955 18:06:12 VERB Watchdog stopTimer() 18:06:12 VERB Watchdog startTimer() 18:06:12 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:06:12 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:06:27 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:27 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:06:27 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:27 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:06:27 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:06:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:42 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:06:42 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:42 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:06:42 VERB Watchdog feed({"data":""}) 18:06:42 VERB Watchdog timerLeft() = 30030 18:06:42 VERB Watchdog stopTimer() 18:06:42 VERB Watchdog startTimer() 18:06:42 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:06:42 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:06:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:57 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1} 18:06:57 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:06:57 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":1}' 18:06:57 VERB PadplusManager ================================================= QRCODE_SCAN MSG : Scanned ================================================= 18:07:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:07:12 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"yuwei","qrcodeId":"d0e7ee8cbf8b0651a9829420c8527c59","status":3} 18:07:12 SILL ==P==A==D==P==L==U==S====P==A==D==P==L==U==S== 18:07:12 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:07:12 VERB Watchdog feed({"data":""}) 18:07:12 VERB Watchdog timerLeft() = 29984 18:07:12 VERB Watchdog stopTimer() 18:07:12 VERB Watchdog startTimer() 18:07:42 SILL GRPC_GATEWAY keepHeartbeat() 18:07:42 SILL GRPC_GATEWAY GRPC Request ApiType: HEARTBEAT 18:07:42 SILL GRPC_GATEWAY throttleQueue emit heartbeat. 18:07:42 VERB Watchdog feed({"data":"09fac256-cd69-4724-8ee7-b7eb3cd5634e"}) 18:07:42 VERB Watchdog timerLeft() = 29950 18:07:42 VERB Watchdog stopTimer() 18:07:42 VERB Watchdog startTimer() ```

7. Additional context

KAWATAAAAAA commented 1 year ago

微信app上点击退出登录, 在控制台触发了 Scanned, 并且在app 端触发了 登录的弹出

10:22:50 SILL GRPC_GATEWAY keepHeartbeat()
10:22:50 SILL GRPC_GATEWAY GRPC Request ApiType: HEARTBEAT
10:22:51 SILL GRPC_GATEWAY throttleQueue emit heartbeat.
10:22:51 VERB Watchdog <Puppet> feed({"data":"0029355f-079f-420b-9141-a1cff202a568"})
10:22:51 VERB Watchdog <Puppet> timerLeft() = 19974
10:22:51 VERB Watchdog <Puppet> stopTimer()
10:22:51 VERB Watchdog <Puppet> startTimer()
10:22:51 SILL PadplusManager setContactAndRoomData()
10:22:51 SILL PadplusManager setContactAndRoomData() found contact, room, friend data no change.
10:22:55 SILL ==P==A==D==P==L==U==S==<GRPC DATA>==P==A==D==P==L==U==S== 
10:22:55 SILL GRPC_GATEWAY responseType: ACCOUNT_LOGOUT, data : {"code":200,"logoutCode":-2023,"uin":1103245599,"message":"你已退出微信","mqType":1100}
10:22:55 SILL ==P==A==D==P==L==U==S==<GRPC DATA>==P==A==D==P==L==U==S==

10:22:55 INFO PuppetPadplus logout(你已退出微信, true)
10:22:55 VERB PuppetLoginMixin logout(你已退出微信)
10:22:55 SILL PuppetLoginMixin get currentUserId()
10:22:55 SILL StateSwitch <WechatyReady> inactive() is true
10:22:55 VERB StateSwitch <WechatyReady> inactive(true) <- (true)
10:22:55 SILL Contact find({"id":"wxid_00j4zrd47usu12"})
10:22:55 SILL PuppetLoginMixin get currentUserId()
10:22:55 SILL Contact ready() @ Puppet<PuppetPadplus>(./remember-me/puppet_padplus_2c0c20b837d7df31) with id="wxid_00j4zrd47usu12"
10:22:55 SILL Contact ready() isReady() true
10:22:55 SILL PuppetLoginMixin get currentUserId()
10:22:55 INFO -- logout, reason: 你已退出微信 
你已退出微信
退出了登录
退出了登录
10:22:57 VERB ContactSelf name()
10:22:57 INFO PuppetPadplus stop()
10:22:57 INFO PuppetPadplus logout(logout in wechaty, true)
10:22:57 VERB PuppetLoginMixin logout(logout in wechaty)
10:22:57 VERB PuppetLoginMixin logout() isLoggedIn === false, do nothing
10:22:57 SILL PadplusManager stop()
10:22:57 SILL GRPC_GATEWAY stop()
10:22:57 SILL GRPC_GATEWAY GRPC Request ApiType: CLOSE
10:22:57 SILL GRPC_GATEWAY GRPC Request ApiType: CLOSE catch error.
[2023-03-31T10:22:57.679+08:00] [WARN] [5040] [] [wuyuweideMacBook-Pro.local] [172.21.144.49] [wechaty-robot] [] [] [] [] [Sequelize [
  "Executing (default): SELECT `wxid`, `token`, `createdAt`, `updatedAt` FROM `robot` AS `robot` WHERE `robot`.`wxid` = 'wxid_00j4zrd47usu12';",
  {
    plain: true,
    raw: false,
    logging: [Function: logging],
    showWarnings: false,
    where: "`robot`.`wxid` = 'wxid_00j4zrd47usu12'",
    hooks: true,
    rejectOnEmpty: false,
    originalAttributes: [ 'wxid', 'token', 'createdAt', 'updatedAt' ],
    attributes: [ 'wxid', 'token', 'createdAt', 'updatedAt' ],
    tableNames: [ 'robot' ],
    type: 'SELECT',
    model: robot
  }
]] ## '' 

[2023-03-31T10:22:57.713+08:00] [WARN] [5040] [] [wuyuweideMacBook-Pro.local] [172.21.144.49] [wechaty-robot] [] [] [] [] [Sequelize [
  "Executing (default): DELETE FROM `robot` WHERE `wxid` = 'wxid_00j4zrd47usu12'",
  {
    plain: false,
    raw: false,
    logging: [Function: logging],
    showWarnings: false,
    where: { wxid: 'wxid_00j4zrd47usu12' },
    hooks: true,
    individualHooks: false,
    force: false,
    cascade: false,
    restartIdentity: false,
    type: 'BULKDELETE',
    model: robot,
    limit: null
  }
]] ## '' 

10:23:02 VERB CacheManager release()
10:23:02 VERB CacheManager releaseCache()
10:23:02 SILL CacheManager releaseCache() closing caches ...
10:23:02 SILL CacheManager releaseCache() cache closed.
10:23:02 VERB PadplusManager stop() finished
10:23:02 INFO PuppetPadplus stop() stopped
10:23:02 INFO PuppetPadplus onStart()
10:23:02 VERB PadplusManager on(scan, function) registered
10:23:02 VERB PadplusManager on(login, function) registered
10:23:02 VERB PadplusManager on(message, function) registered
10:23:02 VERB PadplusManager on(ready, function) registered
10:23:02 VERB PadplusManager on(reset, function) registered
10:23:02 VERB PadplusManager on(heartbeat, function) registered
10:23:02 VERB PadplusManager on(logout, function) registered
10:23:02 VERB PadplusManager on(room-leave, function) registered
10:23:02 VERB PadplusManager on(error, function) registered
10:23:02 SILL PadplusManager start()
10:23:02 SILL GRPC_GATEWAY init()
10:23:02 SILL GRPC_GATEWAY initSelf()
10:23:02 SILL GRPC_GATEWAY initGrpcGateway()
10:23:02 VERB MemoryCard <puppet> get(WECHATY_PUPPET_PADPLUS)
10:23:03 SILL PadplusUser initInstance()
10:23:03 SILL RequestClient request()
10:23:03 SILL DedupeApi dedupe() no need to dedupe api INIT.
10:23:03 SILL GRPC_GATEWAY GRPC Request ApiType: INIT
10:23:03 SILL ==P==A==D==P==L==U==S==<GRPC DATA>==P==A==D==P==L==U==S== 
10:23:03 SILL GRPC_GATEWAY responseType: AUTO_LOGIN, data : {"uin":1103245599,"online":false}
10:23:03 SILL ==P==A==D==P==L==U==S==<GRPC DATA>==P==A==D==P==L==U==S==

10:23:03 SILL GRPC_GATEWAY throttleQueue emit heartbeat.
10:23:03 VERB Watchdog <Puppet> feed({"data":""})
10:23:03 VERB Watchdog <Puppet> timerLeft() = 47693
10:23:03 VERB Watchdog <Puppet> stopTimer()
10:23:03 VERB Watchdog <Puppet> startTimer()
10:23:03 SILL PadplusManager setContactAndRoomData()
10:23:03 VERB PadplusManager setContactAndRoomData() can not proceed due to no cache.
10:23:03 SILL PadplusManager user name : { uin: 1103245599, online: false }
10:23:03 VERB MemoryCard <puppet> get(WECHATY_PUPPET_PADPLUS)
10:23:03 SILL RequestClient request()
10:23:03 SILL DedupeApi dedupe() no need to dedupe api GET_QRCODE.
10:23:03 SILL GRPC_GATEWAY GRPC Request ApiType: GET_QRCODE
10:23:03 SILL PadplusUser init success
10:23:03 VERB MemoryCard <puppet> get(WECHATY_PUPPET_PADPLUS)
10:23:03 SILL PadplusUser Get qrcode with user info, res : null
10:23:05 SILL ==P==A==D==P==L==U==S==<GRPC DATA>==P==A==D==P==L==U==S== 
10:23:05 SILL GRPC_GATEWAY responseType: QRCODE_SCAN, data : {"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"鱼尾","qrcodeId":"7b365850c37c5663b88d2614dfc6956b","status":1}
10:23:05 SILL ==P==A==D==P==L==U==S==<GRPC DATA>==P==A==D==P==L==U==S==

10:23:05 SILL PadplusManager QRCODE_SCAN : '{"msg":"操作成功","head_url":"http://wx.qlogo.cn/mmhead/ver_1/OxllzjTf55qDecZiaNaEyvjReD39I6CyKTkxic3kp568b4F4CZo0XGrdX8onvbhFA3ibTicXBJ8ItibSdxXz3iaxSs9teVxdqNz2h3Z6Z4lEaHtlk/0","user_name":"","nick_name":"鱼尾","qrcodeId":"7b365850c37c5663b88d2614dfc6956b","status":1}'
10:23:05 VERB PadplusManager 
            =================================================
            QRCODE_SCAN MSG : Scanned
            =================================================

10:23:05 SILL StateSwitch <WechatyReady> inactive() is true
10:23:05 VERB StateSwitch <WechatyReady> inactive(true) <- (true)