Appearance
排行榜接口文档
本文档包含积分排行榜和 NFT 领取排行榜两个接口。
1. 积分排行榜接口
接口信息
- 接口路径:
/api/earn/leaderboard - 请求方法:
GET - 接口描述: 获取积分排行榜列表,支持分页查询
请求参数
Query 参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageIndex | number | 否 | 页码,从 1 开始,默认为 1 |
| pageSize | number | 否 | 每页数量,默认值根据接口实现而定 |
| walletAddress | string | 否 | 钱包地址,用于查询指定用户的排名 |
请求示例
bash
GET /api/earn/leaderboard?pageIndex=1&pageSize=20响应数据结构
json
{
"code": 200,
"message": "OK",
"result": {
"data": [
{
"rank": 1,
"score": 480,
"user": "CpwzP+CKKmTAb68Dd6hbLtuFVhB3seymQ4P52N9VaNei",
"walletAddress": "0x35487e65c8aef497fa8f29cbe9cb097c88753eb8172c0f640285921169730d38"
}
],
"nextPageIndex": 2,
"total": 1000
}
}响应字段说明
result 对象字段
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | array | 是 | 排行榜列表数据 |
| nextPageIndex | number | 否 | 下一页页码,无下一页为空 |
| total | number | 是 | 总记录数 |
data 数组项字段
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| rank | number | 是 | 排名,从 1 开始 |
| score | number | 是 | 积分 |
| user | string | 是 | 用户地址(Base64 编码或省略格式) |
| walletAddress | string | 是 | 钱包地址(完整格式) |
2. NFT 领取排行榜接口
接口信息
- 接口路径:
/api/earn/nft-claim-leaderboard - 请求方法:
GET - 接口描述: 获取 NFT 领取排行榜列表,按领取数量排序,支持分页查询
请求参数
Query 参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageIndex | number | 否 | 页码,从 1 开始,默认为 1 |
| pageSize | number | 否 | 每页数量,默认值根据接口实现而定 |
请求示例
bash
GET /api/earn/nft-claim-leaderboard?pageIndex=1&pageSize=20响应数据结构
json
{
"code": 200,
"message": "OK",
"result": {
"data": [
{
"rank": 1,
"referrer": "0x1234...5678",
"walletAddress": "0x35487e65c8aef497fa8f29cbe9cb097c88753eb8172c0f640285921169730d38",
"count": 5
}
],
"nextPageIndex": 2,
"total": 500
}
}响应字段说明
result 对象字段
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | array | 是 | NFT 领取排行榜列表数据 |
| nextPageIndex | number | 否 | 下一页页码,无下一页为空 |
| total | number | 是 | 总记录数 |
data 数组项字段
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| rank | number | 是 | 排名,从 1 开始,按领取数量降序排列 |
| referrer | string | 是 | 推荐人地址(省略格式) |
| walletAddress | string | 是 | 钱包地址(完整格式) |
| count | number | 是 | NFT 领取数量 |
响应示例
积分排行榜响应示例
json
{
"code": 200,
"message": "OK",
"result": {
"data": [
{
"rank": 1,
"score": 480,
"user": "CpwzP+CKKmTAb68Dd6hbLtuFVhB3seymQ4P52N9VaNei",
"walletAddress": "0x35487e65c8aef497fa8f29cbe9cb097c88753eb8172c0f640285921169730d38"
},
{
"rank": 2,
"score": 330,
"user": "D4b2dyVAeuDluGrLBqTQ1dhkzvdcb2FGGkjCn5jJaVuF",
"walletAddress": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
}
],
"nextPageIndex": 2,
"total": 1000
}
}NFT 领取排行榜响应示例
json
{
"code": 200,
"message": "OK",
"result": {
"data": [
{
"rank": 1,
"referrer": "0x1234...5678",
"walletAddress": "0x35487e65c8aef497fa8f29cbe9cb097c88753eb8172c0f640285921169730d38",
"count": 5
},
{
"rank": 2,
"referrer": "0xabcd...efgh",
"walletAddress": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"count": 3
}
],
"nextPageIndex": 2,
"total": 500
}
}注意事项
- 所有接口的分页参数
pageIndex从 1 开始计数 pageSize为可选参数,默认值根据接口实现而定- 当
nextPageIndex不存在或为空时,表示没有下一页数据 total字段表示符合条件的总记录数,可用于计算总页数- 排行榜接口的数据按分数或数量降序排列
user字段可能为 Base64 编码或省略格式,walletAddress为完整地址referrer字段为省略格式(如 "0x1234...5678"),前端可直接使用- 响应格式遵循 API 标准:
code为 200 表示成功,message为状态消息 - 可选字段可能为
null或不存在,前端需要做兼容处理