小程序助手 + 网页授权 API Reference

接口说明按真实调用链整理。

登录后可通过 Cookie 调用;脚本调用推荐使用 X-Auth-Token。扫码接口支持通过 JSON 指定本次登录的 SOCKS5 代理,原有小程序及网页授权接口保持不变。

认证 Cookie / Token默认平台 应用宝新增平台 手游助手格式 JSON

调用流程

从登录到获取 code 的完整链路。

1. 登录控制台调用 /api/auth/login 获取 token,或直接使用浏览器 Cookie。
2. 扫码保存账号POST /qr 创建会话,轮询 /qr/{session_id}/poll,授权后调用 /qr/{session_id}/confirm 保存账号。
3. 调用业务接口使用账号 ref + app_id 调用原有 /wxapp/* 接口,或生成启动参数。

接口列表

表格已按使用频率排序,方法、路径、参数和认证要求居中对齐。

方法路径用途关键参数认证
POST/api/auth/login账号密码登录username,password否
POST/qr?as_base64=true生成登录二维码,可走 SOCKS5source,proxy,proxy_username,proxy_password是
POST/api/qr/start简化扫码创建接口,返回图片 data URIsource,proxy,proxy_username,proxy_password是
GET/api/qr/status?session_id=...轮询并自动确认保存账号session_id 或 uuid是
GET/qr/{session_id}/poll轮询扫码状态session_id是
POST/qr/{session_id}/confirm确认授权并保存账号session_id是
GET/accounts我的账号列表-是
DEL/accounts?ref=...删除账号ref/openid是
POST/accounts/refresh手动刷新账号状态ref(可选)是
POST/accounts/resync重新同步账号资料ref(可选)是
POST/wxapp/getCode获取小程序 coderef,app_id是
POST/wxapp/getPhoneNumber获取手机号ref,app_id是
POST/wxapp/operateWxData小程序数据能力ref,app_id,payload是
POST/wx/getuserinfo获取 YYB 账号用户信息ref是
GET/api/web/oauth/start生成网页授权地址-否
GET/api/web/oauth/callback网页授权回调并换 Cookiecode,state,appid是/授权态
POST/api/web/oauth/exchange网页 code 换 Cookiecode,state,appid是/授权态
POST/api/yyb/launch-param生成云函数参数app_id,entry_url是
GET/api/me当前登录用户-是
POST/api/users新增控制台用户username,password,role管理员

字段说明

扫码来源和状态是最容易混淆的字段,单独列出。

字段位置可选值说明
source创建接口 JSON body / 兼容 queryyyb gameassist应用宝 / 手游助手登录来源,不传默认应用宝;body 优先。
proxy创建接口 JSON bodyHOST:PORT / socks5://HOST:PORT / socks5h://HOST:PORT留空直连;也支持 URL 内的账号密码。SOCKS5 由服务器连接,域名由代理解析。
proxy_username / proxy_password创建接口 JSON body可选,UTF-8 各最多 255 字节URL 已含认证时留空;只在会话内存中使用,不回传、不写入账号数据库。
session_id/qr/{session_id} path二维码会话 ID由 POST /qr 返回,用于轮询和确认授权。
status扫码状态pending / scanned / authorized / confirmed只有 confirmed 表示账号已保存到「我的账号」。
ref业务接口 body/query账号 ID / OpenID / UIN用于指定调用 code 的账号。
code/api/web/oauth/exchange body/query网页授权 code微信公众号网页授权返回的一次性 code。
state网页授权参数授权流程返回值优先使用 /api/web/oauth/start 返回的 state。
cookie换码响应 dataCookie Header目标网页回调返回的会话 Cookie,可用于后续网页接口。
外部 API:SOCKS5 扫码登录
curl -X POST 'https://HOST:PORT/api/qr/start' \
  -H 'X-Auth-Token: TOKEN' \
  -H 'Content-Type: application/json' \
  --data '{"source":"yyb","proxy":"socks5://HOST:1080","proxy_username":"USERNAME","proxy_password":"PASSWORD"}'

curl --max-time 60 -H 'X-Auth-Token: TOKEN' \
  'https://HOST:PORT/api/qr/status?session_id=SESSION_ID'
获取 Token 与查看 Swagger
curl -X POST 'https://HOST:PORT/api/auth/login' \
  -H 'Content-Type: application/json' \
  --data '{"username":"USERNAME","password":"PASSWORD"}'

# data.token → X-Auth-Token
# data.qrcodeUrl → 展示二维码 data URI
# data.session_id → 后续轮询会话 ID
# data.state == "confirmed" → 账号保存成功
# Swagger: /docs/index.html
# OpenAPI: /openapi.json

代理只在创建时传一次;二维码、轮询、授权换码、资料和头像复用同一代理,失败不回退直连。代理不用于浏览器到本服务的请求,不自动改变账号长期代理或保活配置;临时同出口换码请使用 /api/wx/code 并显式传回原代理。建议通过 HTTPS 传递 Token 和代理密码;长轮询读取超时至少 60 秒,重复调用间隔建议 1–2 秒,收到 confirmed 后停止。服务重启后重新登录获取 Token 并创建新二维码。

扫码后使用原代理换 code

临时代理不自动绑定账号。需在代理到期前传回同一地址和认证信息。

POST /api/wx/code
curl --max-time 65 -X POST 'https://HOST:PORT/api/wx/code' \
  -H 'X-Auth-Token: TOKEN' -H 'Content-Type: application/json' \
  --data '{"ref":"ACCOUNT_REF","app_id":"APP_ID","proxy":"socks5://HOST:1080","proxy_username":"USERNAME","proxy_password":"PASSWORD"}'
# 白名单代理省略 proxy_username / proxy_password
# data.code 为结果;data.proxy_applied=true 表示代理已应用

HTTPDNS、协议登录和换码使用请求级 SOCKS5;失败不回退直连、不存储代理密码或临时协议会话。此模式使用刚扫码获得的凭据,过期时请重新扫码。省略代理字段则保留原行为,后台保活不变。调用方访问业务 preLogin / getInfo 时也需使用原代理。

示例

应用宝与手游助手只需要切换 source。

分步扫码保存账号(同样支持 SOCKS5)
curl -X POST 'https://HOST:PORT/qr?as_base64=true' \
  -H 'X-Auth-Token: TOKEN' \
  -H 'Content-Type: application/json' \
  --data '{"source":"gameassist","proxy":"socks5://HOST:1080"}'

curl -H 'X-Auth-Token: TOKEN' \
  'https://HOST:PORT/qr/SESSION_ID/poll'

curl -X POST -H 'X-Auth-Token: TOKEN' \
  'https://HOST:PORT/qr/SESSION_ID/confirm'
获取 code 与启动参数
curl -X POST https://wx.a5t.cn/wxapp/getCode \
  -H 'X-Auth-Token: TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"ref":"OPENID或ID","app_id":"wx..."}'

curl -X POST https://wx.a5t.cn/api/yyb/launch-param \
  -H 'X-Auth-Token: TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"app_id":"wx...","entry_url":"?"}'

UIN 如果扫码资料未返回,会在首次获取 code 建立会话后自动同步到「我的账号」;这属于正常链路,不影响扫码入库。

网页授权

微信公众号网页接口:先生成授权地址,再用一次性 code 换取目标网页 Cookie。

生成授权地址
curl https://HOST:PORT/api/web/oauth/start
code 换 Cookie
curl -X POST https://HOST:PORT/api/web/oauth/exchange \
  -H 'X-Auth-Token: TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"code":"CODE","state":"1"}'

响应 data.cookie 是目标网页接口需要的 Cookie Header。网页授权 code 一次性有效,请勿写入日志。

在线调试

用于快速验证 token 和接口返回。

等待发送请求...