RedLine WechatAuth API 接口 Base URL:当前域名

用 AppKey 调用已授权微信账号的小程序 code 服务

你只需要在主站完成微信扫码授权,然后在请求 Header 里带上 AppKey 和 AppSecret,就可以通过这里的接口查询账号信息或获取指定 OpenID 的小程序 code。

1. 主站授权微信

进入主站 WechatAuth 页面,手动扫码完成微信授权。这里不提供扫码登录接口。

2. 申请 AppKey

在“API接口”标签页申请 AppKey,并立即保存只显示一次的 AppSecret。

3. 调用接口

请求 Header 写入 AppKeyAppSecret,再按接口说明传参数。

AppSecret 只在创建或重置成功时显示一次。忘记了无法找回,只能回主站点击“重置 AppSecret”。

统一鉴权方式

两个接口都使用相同 Header。Header 名区分清楚即可,值不要写引号。

Header 必填 说明
AppKey 你的接口账号,格式像 rl-a1b2c3。删除 AppKey 后旧值会失效。
AppSecret 你的接口密钥,格式像 rls-...。它证明调用者是你本人,请不要发给别人。
Content-Type get-code 必填 调用 get-code 时填 application/json,表示请求体是 JSON。

可直接复制的调用示例

下面的示例里,https://你的接口域名 换成你绑定到 frontend-yyb 的域名。

curl

终端命令
curl -X POST 'https://你的接口域名/api/yyb/get-code' \
  -H 'Content-Type: application/json' \
  -H 'AppKey: rl-a1b2c3' \
  -H 'AppSecret: rls-你的AppSecret' \
  -d '{"openid":"微信OpenID","appid":"目标小程序AppID"}'

JavaScript fetch

Node.js / 浏览器
const res = await fetch('https://你的接口域名/api/yyb/get-code', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'AppKey': 'rl-a1b2c3',
    'AppSecret': 'rls-你的AppSecret'
  },
  body: JSON.stringify({
    openid: '微信OpenID',
    appid: '目标小程序AppID'
  })
});

const data = await res.json();
console.log(data);

Python requests

Python 3
import requests

resp = requests.post(
    "https://你的接口域名/api/yyb/get-code",
    headers={
        "Content-Type": "application/json",
        "AppKey": "rl-a1b2c3",
        "AppSecret": "rls-你的AppSecret",
    },
    json={
        "openid": "微信OpenID",
        "appid": "目标小程序AppID",
    },
    timeout=30,
)

print(resp.status_code)
print(resp.json())

先查账号列表

get-info
curl 'https://你的接口域名/api/yyb/get-info' \
  -H 'AppKey: rl-a1b2c3' \
  -H 'AppSecret: rls-你的AppSecret'

接口一:get-info

GET /api/yyb/get-info

用途:查看当前 AppKey 对应用户的微信授权账号、积分、微信配额、今日免费调用次数和 AppKey 调用量。这个接口不扣积分。

成功响应示例

JSON
{
  "success": true,
  "data": {
    "user": {
      "id": "用户ID",
      "username": "用户名",
      "level": "common",
      "points": 120.5
    },
    "app_key": {
      "app_key": "rl-a1b2c3",
      "total_call_count": 18,
      "get_info_call_count": 4,
      "get_code_call_count": 14,
      "last_used_at": "2026-06-26 10:20:30"
    },
    "wechat_auth": {
      "quota": 2,
      "used": 1,
      "accounts": [
        {
          "id": "微信卡片ID",
          "remark": "备用号",
          "openid": "o123456789",
          "nickname": "微信昵称",
          "avatar_url": "头像地址",
          "expire_at": 1790000000000,
          "status": "online",
          "is_valid": true,
          "last_error": ""
        }
      ]
    },
    "billing": {
      "billing_date_cn": "2026-06-26",
      "free_quota": 1,
      "used_success_count": 0,
      "over_quota_cost_points": 10
    }
  }
}

字段说明

字段 意思 怎么用
success 这次请求是否成功。 true 表示可以读取 datafalse 表示看 message 找原因。
user.points 当前剩余积分,已经换算成“积分”单位。 今日免费次数用完后,get-code 成功会按这里的积分扣。
app_key.total_call_count 当前 AppKey 成功调用接口的总次数。 包含 get-infoget-code
wechat_auth.quota 当前用户最多可以保留几个微信授权账号。 申请 AppKey 时至少需要 2 个微信配额。
wechat_auth.used 当前已经创建且未删除的微信卡片数量。 包含有效和失效账号,不包含已删除账号。
accounts[].openid 微信账号的唯一标识。 调用 get-code 时要把它放进请求体。
accounts[].is_valid 这个微信授权当前是否可用。 只有 true 的账号能调用 get-code
billing.free_quota 今天最多可以免费成功调用 get-code 的次数。 会员等级和绑定情况会影响这个值。
billing.used_success_count 今天已经成功使用的 get-code 次数。 小于 free_quota 时,下一次成功通常仍免费。

接口二:get-code

POST /api/yyb/get-code

用途:给指定 OpenID 的微信账号获取某个小程序的 code。这个接口会校验 OpenID 必须属于当前 AppKey 的用户,不能跨用户调用。

请求体字段

字段 必填 说明 例子
openid 要操作的微信账号 OpenID。先调用 get-info 可以看到账号列表。 o123456789
appid 目标小程序 AppID。你要拿哪个小程序的 code,就填哪个小程序的 AppID。 wx1234567890abcdef

成功响应示例

JSON
{
  "success": true,
  "message": "获取 code 成功",
  "data": {
    "code": "021abc...",
    "openid": "o123456789",
    "appid": "wx1234567890abcdef",
    "account": {
      "remark": "备用号",
      "nickname": "微信昵称",
      "is_valid": true
    },
    "billing": {
      "billing_date_cn": "2026-06-26",
      "free_quota": 1,
      "used_before": 0,
      "used_free_quota": true,
      "charged_cents": 0,
      "charged_points": 0,
      "deducted": false,
      "refunded": false
    }
  }
}

计费字段说明

字段 意思 常见情况
billing.used_free_quota 这次成功调用是否使用了今日免费次数。 true 表示本次没有扣积分;false 表示走积分扣费。
billing.used_before 本次调用前,今天已经成功调用了多少次。 用于判断本次为什么免费或扣费。
billing.charged_points 本次实际扣除的积分。 免费时是 0;超额成功时通常是 10
billing.deducted 是否已经写入积分扣除记录。 超额扣费成功时为 true
billing.refunded 是否因为积分日志写入失败而自动退回本次扣费。 一般为 false;如果为 true,本次 code 仍然获取成功。

常见错误和状态码

接口失败时,优先看 HTTP 状态码,再看响应里的 message

400参数错误,例如缺少 openid、appid,或微信授权已失效。
401AppKey/AppSecret 缺失、不存在、已删除或密钥不正确。
402今日免费次数已用完,并且积分不足。
403OpenID 不属于当前用户,或账号被封禁。

失败响应示例

JSON
{
  "success": false,
  "message": "该 OpenID 不属于当前用户,或授权账号已删除"
}
小提示:如果你不知道该填哪个 OpenID,先调用 get-info,从 wechat_auth.accounts 数组里复制 openid。如果 is_validfalse,请回主站重新扫码授权。