# LeaderboardManager.loadLeaderboardScores
以 Promise 风格调用:不支持
# 功能描述
分页获取游戏排行榜数据。
# 参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| leaderboardId | string | 是 | 排行榜ID | |
| continuationToken | string | 否 | 请求下一页的token,传上一页请求response里的nextContinuationToken内容,首次请求传空字符串或不传 | |
| maxSize | number | 200 | 否 | 每页返回的数量,取值范围[1-200] |
| collection | string | public | 否 | 榜单类型,有效值: • "friends"(需隐私协议授权) • "public" |
| periodToken | string | 否 | 时间周期标识: • 无重置周期:传空或不传 • 有重置周期:需匹配周期时间戳范围(示例:"1745118000-1745636399") | |
| callback | Object | 否 | 接口调用结果回调 |
callback:
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| onSuccess | function | 否 | 接口调用成功的回调函数 | |
| onFailure | function | 否 | 接口调用失败的回调函数 |
onSuccess回调返回数据
Object res:
| 属性名 | 数据类型 | 说明 |
|---|---|---|
| leaderboard | LeaderBoard | 排行榜信息 |
| scores | Array.<Score> | 分数列表 |
| isTruncated | boolean | 是否有下一页数据 |
| nextContinuationToken | string | 用来请求下一页的 Token |
LeaderBoard:
| 属性名 | 数据类型 | 说明 |
|---|---|---|
| availablePeriods | Array.<Period> | 可用的时间周期 |
| background | Image | 排行榜背景 |
| id | string | 排行榜ID |
| name | string | 排行榜名称 |
| period | Period | 排行榜周期 |
| score | Score | 排行榜分数 |
Period:
| 属性名 | 类型 | 说明 |
|---|---|---|
| display | string | 展示文本,如"4月20日 - 4月26日",永久榜单为空 |
| periodToken | string | 时间周期标识,示例:"1745118000-1745636399" |
Score:
| 属性名 | 类型 | 说明 |
|---|---|---|
| rank | number | 用户排名 |
| rankDisplay | string | 排名展示文本,如"1000+" |
| score | number | 用户分数 |
| scoreDisplay | string | 分数展示文本,如"1999万 战力"(无成绩不显示) |
| user | User | 用户信息 |
User:
| 属性名 | 类型 | 说明 |
|---|---|---|
| avatar | Image | 用户头像 |
| name | string | 用户名称 |
| openid | string | Open ID,TapTap用户在小游戏中的唯一标识 |
| unionid | string | Union ID,TapTap用户在同一开发者下所有应用中的唯一标识 |
Image:
| 属性名 | 类型 | 说明 |
|---|---|---|
| color | string | 十六进制的颜色代码 |
| gifUrl | string | GIF的URL |
| height | number | 高度(像素) |
| width | number | 宽度(像素) |
| mediumUrl | string | 中等图片的URL |
| originalFormat | string | 原始的格式 |
| originalSize | number | 原始的尺寸 |
| originalUrl | string | 原始图片的URL |
| smallUrl | string | 小图片的URL |
| url | string | 图片的URL |
# 错误
1025、104、103错误码,在collection参数为"friends"时可能遇到,若遇到1025错误码,请参照权限说明部分修改小游戏后台配置。
| 错误码 | 错误信息 | 说明 |
|---|---|---|
| 500000 | 排行榜周期已过期 | 提示用户排行榜周期已结束,引导查看其他周期 |
| 500001 | 排行榜 ID 未找到 | 排行榜 ID 不存在 |
| 500002 | 排行榜参数错误 | 排行榜 ID 与游戏不匹配 |
| 1025 | 小游戏没有申明使用好友关系信息 | 开发者未在隐私协议中申明使用好友关系(调用需好友权限的API时触发) |
| 104 | 用户未通过隐私协议 | 调用需好友权限的API时,用户未同意隐私协议 |
| 103 | 用户未授权使用其好友关系信息 | 调用需好友权限的API时,用户拒绝好友信息授权 |
| 500201 | leaderboardId 为空 | 必须传入有效的leaderboardId |
| 500198 | maxSize参数非法 | 参数异常,请检查maxSize是否在[1,200]范围内 |
# 示例代码
tapLeaderboard.loadLeaderboardScores({
leaderboardId: "your_leaderboardId", // 排行榜 ID
continuationToken: "", // 请求下一页的token,传上一页请求response里面的nextContinuationToken内容,首次请求传空字符串或者不传
maxSize: 10, //最多加载数据条数,默认200,有效取值范围[1,200]
collection: "friends", // 好友榜
periodToken: "", // 周期标识(可为空)
callback: {
onSuccess: function(res) {
console.log("loadLeaderboardScores success:", JSON.stringify(res, null, 2));
},
onFailure: function(code, message) {
console.error(`获loadLeaderboardScores failed: code=${code}, message=${message}`);
}
}
});
