本文演示:1) 获取 Mac 二维码;2) 轮询检测 Mac 登录状态直到成功。示例基于本服务的接口实现。
POST /api/Login/GetQRMac?authcode=<你的授权码>DeviceName: 设备名,默认 MacBook Prooversea: 是否强制海外短域名(布尔值)Data.Uuid: 本次扫码会话的 Uuid(后续轮询用)DeviceId: 本次生成/复用的 deviceIDData.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/(如有差异,请以当前服务实现为准)。
