Skip to content

配额与限流

AWMC API 对有 Token 消耗的接口提供个人 + 全站双层配额。窗口为 1 小时、5 小时、1 天,且每个窗口从该窗口的第一次请求开始计时。配额按接口的 Token 定价累计:

  • 读取:查询用户数据、成绩、票券、道具和 Gate 状态等,默认额度相对更高。
  • 写入upsert、删除、清空以及 POST /v1/charge 购买票券等发送性质操作。
  • POST /v1/update-lxPOST /v1/update-fish 用于读取并同步外部成绩结果,按读取额度计算。

超限响应

超限返回 HTTP 429,同时带有 Retry-After(秒)和 X-Quota-Reset(ISO 时间)响应头:

json
{
  "error": "quota_exceeded",
  "msg": "Reached Personal 1-Hour Quota Limit for Read requests. You may continue request after 2026-08-06 23:06:26 Beijing Time (UTC+8). If you want a higher quota, please get in touch on us https://bbs.wmc.pub.",
  "retryAfterSeconds": 1800,
  "quota": {
    "scope": "Personal",
    "category": "read",
    "window": "1h",
    "limit": 50,
    "used": 118,
    "requested": 4,
    "resetAt": "2026-08-06T15:06:26.000Z",
    "retryAtBeijing": "2026-08-06 23:06:26",
    "timeZone": "Asia/Shanghai"
  }
}

客户端应等待 retryAfterSecondsquota.resetAt 后再重试,而不是立即循环请求。

查询当前配额

已登录用户可调用 GET /me/quotaGET /quota 为兼容别名):

bash
curl https://api.wmc.pub/me/quota \
  -H 'Authorization: Bearer <JWT 或 gw_令牌>'

返回 windows.readwindows.write 数组,每一项包含 scopewindowlimitusedremainingstartedAtresetAt。尚未发起请求的窗口会显示 startedAt: null

管理员设置

控制台的「配额与错误」页面可以修改:

  • 保守、正常、宽松、自适应、自定义五种模式。保守/正常/宽松倍率为基准值的 75% / 100% / 150%。自适应根据近 30 分钟服务器内部错误率在保守与宽松之间调节。
  • 个人与全站 read/write 三种窗口的 Token 基准值。
  • 全站限制开关与全站窗口倍率(0.25–4 倍)。

「用户管理」的编辑窗口可以为单个用户设置六个 read/write 覆盖值,留空即跟随默认值,并可勾选「绕过全站配额」。个人配额仍然生效。

服务器内部错误

管理员页面提供近 7 天、30 分钟粒度的服务器内部错误图表。httpStatus = 0(转发异常)或 HTTP >= 500 均计入服务器内部错误,可用来定位错误发生的时间区间并选择合适的调节模式。

Released under the MIT License.