排行榜功能

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

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 ""