# LeaderBoardManager.submitScores
# 功能描述
批量提交用户排行榜分数。
# 参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
scores | Array.<SubmitScoreItem> | 是 | 要提交的排行榜分数列表,一次最多提交5个分数数据(即scores的length不能超过5);score只能是整数,如果传入小数会被取整 | |
callback | Object | 否 | 接口调用结果回调 |
SubmitScoreItem:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
leaderboardId | string | 否 | 排行榜ID | |
score | number | 否 | 排行榜分数,注意与管理后台中该排行榜的数据类型和数据范围一致,否则会提交失败 |
callback:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(成功/失败都会执行) |
success回调返回数据:
Object res:
属性名 | 数据类型 | 说明 |
---|---|---|
results | Array.<SubmitScoresResultItem> | submitScores成功的回调结果 |
SubmitScoresResultItem:
属性名 | 数据类型 | 说明 |
---|---|---|
leaderboardId | string | 排行榜 ID |
openid | string | Open ID,是 TapTap 用户在小游戏中的唯一标识 |
periodToken | string | 时间周期标识,示例:"1745118000-1745636399" |
scoreResult | ScoreResult | 分数结果 |
unionid | string | Union ID,是 TapTap 用户在同一开发者下所有应用中的唯一标识 |
ScoreResult:
属性名 | 数据类型 | 说明 |
---|---|---|
rawScore | number | 计算了当次提交后的用户分数 |
newBest | boolean | 与历史记录相比,rawScore是否为最佳分数 |
scoreDisplay | string | 分数展示文本,如"1999万 战力" |
# 错误
错误码 | 错误信息 | 说明 |
---|---|---|
500001 | 排行榜 ID 未找到 | 排行榜 ID 不存在 |
500002 | 排行榜参数错误 | 排行榜 ID 与游戏不匹配 |
500199 | scores数据条数不是[1,5]范围 | scores数据条数不是[1,5]范围,提示接口入参异常,请检查scores的size是不是5条以内 |
# 示例代码
leaderboardId需要改成实际的值,否则会报错。
const scores = [
{ leaderboardId: "leaderboard_1", score: 1000 },
{ leaderboardId: "leaderboard_2", score: 2000 }
];
tapLeaderboard.submitScores({
scores: scores,
callback: {
onSuccess: function(res) {
console.log("submitScores success:", JSON.stringify(res, null, 2));
},
onFailure: function(code, message) {
console.error(`submitScores failed: code=${code}, message=${message}`);
}
}
});