2.1 KiB
2.1 KiB
徽章活动相关接口
说明
-
通用返回格式, errcode=0 表示无错误
-
如无特别说明, 以下接口的 Response 格式指的是 data 字段
-
接口名中带*的表示, 需要验证 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: 失败