DarkZone API http短连接通讯模块dzQuery.js各功能呢个使用方法
来源:互联网 发布:照片模糊修复软件 编辑:程序博客网 时间:2024/06/05 15:53
DarkZone API http短连接通讯模块dzQuery.js各功能呢个使用方法
》》》主站传送门《《《
DarkZone 预计从2015年4月15号开始正式运行,现在一切都在有条不紊的进行中,欢迎广大开发者,推广渠道,各种行业的朋友预约加盟。
可以联系邮箱460418221@qq.com QQ不常在,也可以在下面留言咨询。
几个重要概念:
darkstone:暗石,是DarkZone暗域游戏平台的通用货币。玩家冲值后可以在不同的游戏中购买所需道具,开发者借此获利。(我是开发者,我该如何获利呢?点击这里了解。)
infiCookie:这是一个生命周期无限的字符串,每个玩家在每个游戏中都有一个独立存在的infiCookie,主要用来存放玩家的数据。
userid:玩家的唯一标识。
darid:暗域中的游戏的唯一标识。这个与开发者获利直接相关,所以不要填错。
在使用之前,你需要引用dzQuery.js文件,在页面上添加一行
<script type="text/javascript" src="http://darkzone.xyz/api/dzQuery.js"></script>
或者下载dzQuery.js文件,导入项目,甚至跟其他源码打包混淆到一起也是OK的。
然后就可用在你自己的JS代码中调用dzQuery里的函数了。
下面分别讲一下每个功能怎么使用,和注意事项。
我还花时间做了一个实例DEMO:
忧郁的老虎机,用来演示效果 》》》传送门《《《
注意一下所有函数的返值模式都是以回调函数,用户需要在使用时指定一个回调函数,并且这个回调函数有且仅有一个参数,这个参数是object,至于这个对象具体的属性,每个函数返还的都有不一样。
1.用户登录
在使用其他函数之前,必须先使用这个函数
dz.userLogin(username,password,darid,callbackfun)
前两个参数不用说了,第三个是字符串,第四个是一个function的指针,例如:
dz.userLogin("tom","password_tom","a1281g2bsd1bsc1da",callBack);function callBack(obj){ if(obj.state == 0){ //登录成功 //Object.state = 0 //Object.userid 用户唯一标识(整数) //Object.nickname 用户昵称 //Object.darkstone 用户拥有的暗石数 //Object.borndate 用户的出生日期,默认为‘0000-00-00’ } if(obj.state == 1){ //必要参数缺失 //obj.msg = paramter is null } if(obj.state == 2){ //obj.msg = 用户名或者密码错误 }}
这样直接使用需要开发者为自己的游戏构造一个帐号密码获取的组件集,如果觉得麻烦,你也可以直接使用下面的DIV控件,里面包含了登录和快速注册的一些必要组件。这个DIV中调用的一些方法在dzQuery.js中已经有了。
<link rel="stylesheet" href="http://darkzone.xyz/api/login_modul.css"/><script src="http://darkzone.xyz/api/dzQuery.js"></script><div id="formwrapper"> <h3>已注册用户登录</h3> <form action="" method="post" name="apLogin" id="apLogin"> <fieldset> <legend>用户登录</legend> <div> <label for="Name">用户名</label> <input type="text" name="Name" id="UN" size="18" maxlength="30" autocapitalize="off" autocorrect="off"/><br /> </div> <div> <label for="password">密码</label> <input type="password" name="password" id="PW" size="18" maxlength="15" /><br /> </div> <div class="cookiechk"> <label><input type="checkbox" name="CookieYN" id="CookieYN" /> <a href="#" title="选择是否记录您的信息">记住我</a></label> <input name="login791" type="button" id="login_button" class="buttom" value="登录" onclick="dz.box_login(document.getElementById('UN').value , document.getElementById('PW').value,document.getElementById('CookieYN').checked,_game_darid,_call_back_4_login)"/> <input name="login791" type="button" class="buttom" value="关闭窗口" onclick="dz.showHtmlBox(false)"/> </div> <div class="forgotpass"><a href="#">您忘记密码?</a></div> </fieldset> </form><br /> <h3>未注册创建帐户</h3> <form action="" method="post" name="apForm" id="apForm"> <fieldset> <legend>用户注册</legend> <p><strong>您的电子邮箱不会被公布出去,但是必须填写.</strong> 在您注册之前请先认真阅读服务条款.</p> <div> <label for="Name">用户名</label> <input type="text" name="Name" id="Name" value="" size="20" maxlength="30" autocapitalize="off" autocorrect="off"/> *(最多30个字符)<br /> </div> <div> <label for="Email" >电子邮箱</label> <input type="text" name="Email" id="Email" value="" size="20" maxlength="150" autocapitalize="off" autocorrect="off" /> *<br /> </div> <div> <label for="password">密码</label> <input type="password" name="password" id="password" size="18" maxlength="15" /> *(最多15个字符)<br /> </div> <div> <label for="confirm_password">重复密码</label> <input type="password" name="confirm_password" id="confirm_password" size="18" maxlength="15" /> *<br /> </div> <div> <label for="AgreeToTerms">同意服务条款</label> <input type="checkbox" name="AgreeToTerms" id="AgreeToTerms" value="1" /> <a href="#" title="您是否同意服务条款">先看看条款?</a> * </div> <div class="enter"> <input name="create791" id="reg_button" type="button" class="buttom" value="提交" onclick="dz.regQuick(document.getElementById('Name').value ,document.getElementById('Email').value,document.getElementById('password').value ,document.getElementById('confirm_password').value,document.getElementById('AgreeToTerms').checked,_game_darid,_call_back_4_login)"/> <input name="Submit" type="reset" class="buttom" value="重置" /> </div> <p><strong>* 在提交您的注册信息时, 我们认为您已经同意了我们的服务条款.<br /> * 这些条款可能在未经您同意的时候进行修改.</strong></p> </fieldset> </form></div><script> var _game_darid = "6a11857ea0454aca"; function _call_back_4_login(_obj){ if(_obj.state ==0){ dz.showHtmlBox(false); } //登录完成要做的事,调用游戏中的函数,获取所需的信息 //这里调用的函数注意不要混淆,否者找不到 } dz.showHtmlBox(false); // 把这下面这句代码放在游戏加载完成后的地方,这样游戏会自动检测COOKIE中有没有保存的帐号密码,可以让用户进行快速登录 // dz.tryCookieLogin(_game_darid,_call_back_4_login());</script>
如果觉得提供的DIV不美观,可以自己修改,这样就实现了登录的。
2.获取用户的信息
主要用于重新获取用户的数据,一般在用户改变暗石数,改昵称等行为之后调用。
实例:
dz.getUserInfo(callBack);function callBack(obj){ if(obj.state == 0){ //obj.userid //obj.nickname //obj.darkstone //obj.borndate } if(obj.state == 1){ //obj.msg = 参数缺失 } if(obj.state == 2){ //obj.msg = 没有这个用户的数据 }}
3.消费暗石
在游戏中让用户消费暗石,提供额外的奖励,开发者可以从中受益,请不要随意更改这部分的代码,如果发现开发者故意更改消费确认流程或者提示语句,诱骗用户消费暗石,被用户举报并经核实或被管理人员发现,DARKZONE有权取消该游戏的用户消费记录,并把暗石返还给用户,并考虑关闭这个游戏。
dz.darkStone.spend(value,callbackfun);
第一个参数是消费暗石的个数,第二个是回调函数,确认消费成功了再给玩家奖励。
实例:
dz.darkStone.spend(3,callBack);function callBack(obj){ if(obj.state == 0){ //obj.msg = Done!; } if(obj.state == 1){ //obj.msg = paramter is null; } if(obj.state == 2){ //obj.msg = cant find this user.!; } if(obj.state == 3){ //obj.msg = Dont have enough DS./error to change STRING to INT.; } if(obj.state == 4){ //obj.msg = Error to change DB.; }}
4.infiCookie的读取
获取的是一个字符串,开发者可以根据自己的情况构造这个字符串,以满足自己游戏的需求,建议使用JSON的形式来存储数据。
实例:
//这里不一定要用匿名函数,跟上面一样另外生命一个函数也是可以的。dz.infiCookie.get(function(obj){ if(obj.state==0){ //obj.cookie = 存储的数据 } if(obj.state==2){ //obj.msg = No data found! } if(obj.state==1){ //obj.msg = paramter is null. }});
5.infiCookie的存储
存储会覆盖原来的数据,第一次存储会在数据库创建这条数据。
实例:
dz.infiCookie.set('1234',function(obj){ if(obj.state==0){ //obj.cookie = 存储的数据 } if(obj.state==1){ //obj.msg = No data found! } if(obj.state==2){ //obj.msg = paramter is null. }});
6.小工具
dzQuery.js提供一些小工具,请不要删除这些函数,因为其他的函数可能有用到这些函数,用户有需要也可以调用,未来计划发布一个dzQuery的独立版本,回集成一些强大的工具的,节省开发者的时间,包括地理位置,所在城市,所在地天气,经纬度,计步器等等,叫做dzQueryPlus.js
//用于普通COOKIE的一些操作。dz.tool.cookie.set(name,value,expiresDays,path)dz.tool.cookie.get(name)dz.tool.cookie.del(name)//用于获取随机的整数dz.random.int(mix,max)
- DarkZone API http短连接通讯模块dzQuery.js各功能呢个使用方法
- QT HTTP 通讯 使用方法
- Unity Http短连接
- Http长连接短连接
- http 长连接 短连接
- http 长连接 短连接 持久连接
- 短连接http服务器陷阱
- http长连接与短连接
- http长连接和短连接
- http长连接与短连接
- http长连接与短连接
- http长连接与短连接
- Http 的长连接与短连接
- http长连接与短连接
- http长连接和短连接
- http长连接和短连接
- http长连接与短连接
- HTTP长连接与短连接
- 内存溢出之Tomcat内存配置
- 淘宝新手每天要做些什么
- 函数重载1
- linux 内核修改分辨率后出现的WARNING解决方法
- 蓝桥杯 算法训练 矩阵相乘
- DarkZone API http短连接通讯模块dzQuery.js各功能呢个使用方法
- Job Dependencies
- Spring入门2--aware接口
- Hibernate 级联删除 和 hql编程实现删除 的比较
- Binary Tree Level Order Traversal
- 最新活动介绍,看过选过不错过
- android实现类似在短信图标右上角显示短信个数的效果
- 基于Twemproxy的Redis集群方案
- 【Maven】maven配置默认使用的JDK版本