2023-04-20 15:28:35 +08:00

2.1 KiB
Raw Blame History

徽章活动相关接口

说明

  1. 通用返回格式, errcode=0 表示无错误

  2. 如无特别说明, 以下接口的 Response 格式指的是 data 字段

  3. 接口名中带*的表示, 需要验证 token, token 可以设置 header 的 Authorization: Bearer JWT_token, 或 Post body 的 token 字段, 或 Get 的 query token

{
	"errcode": Number,
	"errmsg": String,
	"data": {}
}

1. 钱包预登录

Request

  • URL/api/user/login
  • 方法:GET

Response

{
    "nonce": String,
    "tips": String
}

2. 钱包登录

客户端在获得钱包地址后,须先调用预登录方法获取 nonce 和 tips, 然后调用钱包进行 EIP-721 签名.

登录成功后返回的 jwt 需要保存至本地存储, 再次载入后, 可解析并获取 exp 字段, 判断当前 token 是否已经过期

Request

  • URL/api/user/login
  • 方法:POST
  • 头部:
    • Content-type: application/json
  • Body:
{
    "nonce": Number,
    "signature": String,
    "account": String
}

Response

{
    "token": String,
}

3. *检查当前用户 claim 状态

Request

  • URL/api/user/status
  • 方法:GET
  • 头部:
    • Authorization: Bearer JWT_token
  • 参数:
    • uid(用户 ID

Response

[
  {
    "id": String,
    "status": Number
  }
]

status: 0: 不可以 claim, 1: 可 claim, 9: 已经 claim

4. *用户申请 claim

调用该方法后, 服务端会检查是否符合相关条件, 如果符合, 那么会立即返回一个 taskId, 客户端需凭借此 taskId 轮询该任务的状态

Request

  • URL/api/user/claim
  • 方法:POST
  • 头部:
    • Authorization: Bearer JWT_token
  • Body: 空对象 {}

Response

{
    "taskId": String,
}

5.* 检查 claim 任务的状态

Request

  • URL/api/user/claim/:taskId
  • 方法:GET
  • 头部:
    • Authorization: Bearer JWT_token

Response

{
    "status": Number,
    "txHashList": [String],
}

status 说明

0: 队列中, 等待上链

1: 成功上链, 等待确认

9: 已确认成功(成功的最终状态)

10: 失败