Skip to content

scan_qr

使用在线 Android Bot 识别一个 QQ 登录二维码。本接口是 Android 会话能力,不属于 Linux 原生账号管理链路。

调用

js
const androidApi = api.forProtocol('android')
const result = await androidApi.scan_qr(123456789, qrK)

参数

参数类型必填说明
self_idnumber执行扫码动作的在线 Android Bot QQ 号
kstring二维码中的 k 参数或包含 k 的完整 URL

返回值

返回 QQ 的扫码结果,包括 codemessagestatus、设备名称和客户端信息。服务端提示可确认时,再调用 auth_qr

不要传 client_type: 'linuxqq'。本接口不要自动高频重试:收到明确失败或二维码过期后,应停止当前流程并由用户重新获取二维码。

v2.0.6 修复

v2.0.6 修复平板扫码的 -10117(AppID 无效):读取同版本 Phone 协议的 appid,不把 subappid 当作 AppID,也不借用其他版本。协议目录必须保留相同 ver 的 Phone 项,缺少时明确报错。

该修复已通过两个 Android 平板测试账号授权各自 Linux 登录的完整流程验证;已发布 v2.0.5 尚不包含此修复。扫码成功仍需继续授权并查询原登录流程的最终状态,不能仅凭 code: 0 宣称 Linux 已上线。

调用前必读

协议与使用指南

仅 Android
适用协议
仅 Android
使用前准备
执行扫码或授权的 Android 账号必须在线。先 scan_qr,再 auth_qr,使用同一二维码的 k。Linux 免扫登录由同 QQ 在线安卓账号执行这两步,再由 Linux 原生登录链路查询结果。
选择协议
const androidApi = api.forProtocol('android') // 省略时也默认 Android

原始 action 请求只使用附件约定的 client_type: 'android' | 'linuxqq';省略时选择 Android。

建议搭配

常见失败原因

  • bot 不属于本节点
  • bot 未在线或账号状态不符合要求
  • client_type 无效或目标协议不支持该 action

注意事项

  • 省略协议选择器时默认 Android;若指定 Linux,框架会明确拒绝,不会转交同 QQ 的 Android 实例。
  • 调用方协议必须为 android,不能把动作发送给 Linux 会话。授权成功后仍需查询目标二维码流程确认登录;授权失败不自动重放。

萌卡NT 开发文档