排行榜功能

  • 用户提交本人单次分数
  • 获取当前指定排行榜实时数据
  • 获取排行榜上一期最终数据

CP接入Badam排行榜SDK操作流程

graph TB Register(注册CP用户)-->AddApp(添加应用,获得appid和apisecret) AddApp-->AddBoard(找Badam技术申请添加排行榜,获取boardid) AddBoard-->CPSvr(实现cp服务端到badam服务端对接) CPSvr-->CPCli(cp客户端向cp服务端发起请求)

通讯协议

1 签名方式

  1. 所有请求均要求以下文描述方式进行签名
  2. 所有请求参数以json形式,序列化为一个字符串d
  3. 将d,apisecret,当前unix时间戳(精确到秒)ts,依次拼接成一个字符串s
  4. 算出s的md5摘要,以小写十六进制记录

举例说明:

假设某接口有以下参数
A="abc", B=456,当前app的apisecret为ab12cd34,发起请求的时刻为北京时间2018-09-11 22:32:00
这时候:
d = {"A":"abc","B":456}
apisecret = ab12cd34
ts = 1536676320
s = d + apisecret + ts = {"A":"abc","B":456}ab12cd341536676320
签名结果为md5('{"A":"abc","B":456}ab12cd341536676320') = ee3d10143d73a53890937e88bb158a6d

2 通讯方式

  • 所有接口均通过https,向badam服务器发起post请求实现
  • 所有接口均有且仅有4个字段:
字段名 含义
a appid
t 当前unix时间戳
d 所有请求参数的json字符串
s 签名结果
  • 所有请求结果以json形式返回

    3 具体接口

    3.1 提交分数

  • 接口地址
    https://open3.badambiz.com/api/rank/submit/
    
  • 请求参数
字段名 数据类型 是否必填 含义 备注
appid string 是 应用id 必须与外层a参数一致
boardid string 是 排行榜id
openid string 是 用户openid 登录时获取
token string 是 用户登录态token 登录时获取
score int64 是 分数
  • 返回结果字段
字段名 数据类型 含义 备注
result int 操作结果 0为成功,非0为失败
message string 结果描述 当result非0时,message为错误描述

3.2 获取排行榜数据

  • 接口地址
    https://open3.badambiz.com/api/rank/get/
    
  • 请求参数
字段名 数据类型 是否必填 含义 备注
appid string 是 应用id 必须与外层a参数一致
boardid string 是 排行榜id
period int 是 哪一期 0为当前榜单,1为上一期榜单
openid string 否 用户openid 登录时获取,当且仅当需要获取本人排名时带上
token string 否 登录态token 同上
offset int 是 从第几条开始获取 第一条为0
limit int 是 最多获取多少条 大于0,小于等于100
  • 返回结果字段
字段名 数据类型 含义 备注
result int 操作结果 0为成功,非0为失败
message string 结果描述 当result非0时,message为错误描述
data object 结果数据
data.ranks RankInfo数据 获取的分页数据
data.has_more boolean 是否还有更多数据
data.mine RankInfo对象 本人排名 当且仅当有有效openid+token时返回

RankInfo:

字段名 数据类型 含义 备注
rank int 排名
nickname string 昵称
icon string 头像url
score int64 分数

results matching ""

    No results matching ""