本文演示:1) 获取 Mac 二维码;2) 轮询检测 Mac 登录状态直到成功。示例基于本服务的接口实现。
POST /api/Login/GetQRMac?authcode=<你的授权码>
DeviceName
: 设备名,默认 MacBook Pro
oversea
: 是否强制海外短域名(布尔值)
Data.Uuid
: 本次扫码会话的 Uuid(后续轮询用)DeviceId
: 本次生成/复用的 deviceID
Data.QrBase64
: Base64 的二维码图片数据(可直接在前端展示)POST /api/Login/CheckMacQR
{"Uuid":"<uuid>","DeviceID":"<deviceID>"}
?uuid=<uuid>
(服务端已支持自动映射 deviceID
)uuid
(推荐,依赖服务端自动映射)
deviceID
)
uuid
$UUID = "<UUID>"
$HOST = "http://127.0.0.1:8057"
while ($true) {
$resp = curl -s -X POST "$HOST/api/Login/CheckMacQR?uuid=$UUID" -d "" | Select-Object -ExpandProperty Content
$json = $resp | ConvertFrom-Json
$ok = $json.Success
$code = $json.Code
$msg = $json.Message
Write-Host (Get-Date -Format HH:mm:ss) "code=$code success=$ok msg=$msg"
if ($ok -eq $true -and ($msg -eq "登陆成功" -or $code -eq 0)) {
Write-Host "登录成功"
break
}
if ($code -eq -4) {
Write-Host "提示:已过滑块,请在客户端点确定后继续轮询"
}
Start-Sleep -Seconds 1
}
Success=true
且 (Message == "登陆成功"
或 Code == 0
)。Code == -4
,Message 提示“已过滑块,请点击确定,再次检测二维码”。继续轮询或在客户端确认后重试。unexpected end of JSON input
:请求体为空但未带 query。现已支持空体+?uuid=
,请按上方 示例。参数错误:缺少 uuid
:请传 uuid
(从取码响应 Data.Uuid
获取)。微信返回的数据存在异常
:上游接口异常,可稍后重试。GetQRMac
获取二维码 → 展示 Data.QrBase64
给用户扫码。Uuid
(与 DeviceId
)。CheckMacQR
, 直到判定成功或超时(建议 60s)。参考接口文档: https://wx.knowhub.cloud/
(如有差异,请以当前服务实现为准)。