描述
QQ 账号被踢下线后,WebUI 扫码登录页的"刷新二维码"按钮点击后提示"已发送刷新请求",但二维码图片并未更新,仍显示旧的过期二维码。
复现步骤
- NapCat 正常登录运行
- QQ 账号被踢下线(日志显示
[KickedOffLine] 下线通知: 账号登录已失效)
- 访问 WebUI 扫码登录页
/webui/qq_login
- 点击"刷新二维码"按钮
- 前端提示"已发送刷新请求"
- 二维码图片未变化,仍为旧二维码
日志
KickedOffLine 下线通知 你的账号当前登录已失效,请重新登录。
账号状态变更为离线
ServerTime 时间同步完成,偏差 -252ms
被踢下线后,NapCat 每小时只进行时间同步,未尝试重新生成二维码或进入待登录状态。
预期行为
- 点击"刷新二维码"后,后端应重新生成二维码并更新 cache 中的
qrcode.png
- 被踢下线后 NapCat 应自动进入"等待重新登录"状态,而非静默空转
环境
- NapCat 版本: 4.18.9
- 部署方式: Docker (
mlikiowa/napcat-docker:latest)
- 架构: Linux x64
- QQ 账号: -
修复建议
RefreshQRcode 接口应检查账号状态,若离线则触发全新的二维码生成流程
CheckLoginStatus 返回的 qrcodeurl 建议追加时间戳参数以避免浏览器缓存
- 被踢下线后建议自动尝试重新生成二维码
描述
QQ 账号被踢下线后,WebUI 扫码登录页的"刷新二维码"按钮点击后提示"已发送刷新请求",但二维码图片并未更新,仍显示旧的过期二维码。
复现步骤
[KickedOffLine] 下线通知: 账号登录已失效)/webui/qq_login日志
KickedOffLine 下线通知 你的账号当前登录已失效,请重新登录。
账号状态变更为离线
ServerTime 时间同步完成,偏差 -252ms
被踢下线后,NapCat 每小时只进行时间同步,未尝试重新生成二维码或进入待登录状态。
预期行为
qrcode.png环境
mlikiowa/napcat-docker:latest)修复建议
RefreshQRcode接口应检查账号状态,若离线则触发全新的二维码生成流程CheckLoginStatus返回的qrcodeurl建议追加时间戳参数以避免浏览器缓存