跳至内容
C2/C3 Wiki
C2/C3开发者的乐园
用户工具
注册
登录
站点工具
搜索
工具
显示页面
过去修订
反向链接
最近更改
媒体管理器
网站地图
注册
登录
>
最近更改
媒体管理器
网站地图
您在这里:
C2/C3 Wiki
»
r2i.io排行榜使用方法
您的足迹:
r2i.io使用方法
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== r2i.io排行榜使用方法 ====== <WRAP center round important 60%> 注意:由于r2i.io绑定了更多服务,原服务地址更改为 http://r2i.io/rank/ 请及时调整 </WRAP> ===== 注册排行榜 ===== [[http://r2i.io/rank/regnew.php]] 点击左下角“New”按钮,注册新的排行榜(此功能将不定期开放) 注册后将看到 NNNN_CCCCCCCC : CCCCCCCC 格式的提示信息,NNNN为数字,CCCCCCCC为字母数字组合(大小写敏感),NNNN_CCCCCCCC为排行榜列表ID,CCCCCCCC为默认密码。密码的功能是用于数据传输中XOR的加密和解密,可以在注册页面修改此密码。(XOR数据传输加密解析详见文章:[[通过xor技术对数据传输进行加密]],建议务必阅读并理解本文内容) 在注册页面同样可以修改排行榜其他设置,如排行榜显示数量,正序或逆序排行等 ===== 基础接口使用 ===== ==== 需要使用的插件 ==== <wrap hi>目前这套方法的一个重要缺陷是,需要的插件较多,如果能整合成一个插件固然是最好……然而……</wrap> * 官方:AJAX,WebStorage * Rex:SimpleXOREncryption,JSON * 其他:CBHash ==== 变量和本地存储的使用 ==== * ListID:即一开始获得的排行榜列表ID * ListPass:一开始获得的排行榜密码(不建议用变量保存,而是在每次传输数据时临时写进去) * UserID:用户ID,第一次调用ready接口时获得(格式为16位随机字母,大小写敏感),之后需要保存到本地(webStorage或localStorage) * UserName:用户昵称,用于在排行榜中展示,如果没有昵称,则会在排行榜中显示用户ID * GameTime:Ready接口返回的时间戳,上传分数时必须带此数据一起上传,否则会被判数据无效 ==== ready接口 ==== * 游戏开始前调用此接口,将用户信息传递给服务器,服务器将返回一串已加密的数据 * 调用:http://r2i.io/rank/?a=rd&l={ListID}[&n={UserName}&u={UserID}] [..]内为可选项 * 返回结果需要用XOR解密(使用ListPass作为密码,XOR.Decrypt(AJAX.LastData, CBHash.MD5({ListPass}))) * 返回格式为:{UserID}|0|{GameTime} ==== Submit接口 ==== * 游戏完成时,通过此接口上传分数,服务器将返回用户ID和当前最高得分 * 调用:http://r2i.io/rank/?a=sub&l={ListID}&d={data} * data的结构:URLEncode(XOR.Encrypt({UserID}|{Score}|{GameTime}, CBHash.MD5({ListPass})) <wrap hi>注意:所有XOR加密后的数据带入data前,需要用URLEncode进行转义,防止XOR产生的空格和换行干扰数据传输</wrap> * 返回结果格式为:{UserID}|{MaxScore} ==== List接口 ==== * 获取排行榜接口可以获取到当前游戏的排行榜 * 调用:http://r2i.io/rank/?a=list&l={ListID}[&u={UserID}] [..]为可选内容,如果传入用户ID,则会额外返回当前用户得分与排名 * 返回JSON:"listID":排行榜ID,"listCount":当前排行榜显示数据数,"myScore":我的得分,"myRank":我的排名,"data":数据表 * 数据表结构:"name":玩家昵称,"score":玩家得分..... * 建议使用JSON插件解析并展示数据 ==== 演示地址 ==== * [[http://t.0tw.cn/rt/]] * {{ :ranktest.zip |示例程序}}
r2i.io使用方法.txt
· 最后更改:
2024/01/22 11:09
由
127.0.0.1
页面工具
显示页面
过去修订
反向链接
回到顶部