Skip to content

[BUG] 账号被踢下线后,"刷新二维码"功能无效,后端返回成功但二维码未更新 #1962

Description

@kumu7y

描述

QQ 账号被踢下线后,WebUI 扫码登录页的"刷新二维码"按钮点击后提示"已发送刷新请求",但二维码图片并未更新,仍显示旧的过期二维码。

复现步骤

  1. NapCat 正常登录运行
  2. QQ 账号被踢下线(日志显示 [KickedOffLine] 下线通知: 账号登录已失效
  3. 访问 WebUI 扫码登录页 /webui/qq_login
  4. 点击"刷新二维码"按钮
  5. 前端提示"已发送刷新请求"
  6. 二维码图片未变化,仍为旧二维码

日志

KickedOffLine 下线通知 你的账号当前登录已失效,请重新登录。
账号状态变更为离线
ServerTime 时间同步完成,偏差 -252ms
被踢下线后,NapCat 每小时只进行时间同步,未尝试重新生成二维码或进入待登录状态。

预期行为

  • 点击"刷新二维码"后,后端应重新生成二维码并更新 cache 中的 qrcode.png
  • 被踢下线后 NapCat 应自动进入"等待重新登录"状态,而非静默空转

环境

  • NapCat 版本: 4.18.9
  • 部署方式: Docker (mlikiowa/napcat-docker:latest)
  • 架构: Linux x64
  • QQ 账号: -

修复建议

  1. RefreshQRcode 接口应检查账号状态,若离线则触发全新的二维码生成流程
  2. CheckLoginStatus 返回的 qrcodeurl 建议追加时间戳参数以避免浏览器缓存
  3. 被踢下线后建议自动尝试重新生成二维码

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions