chufan

readme

Showing 1 changed file with 261 additions and 0 deletions
#### 2.1 登录流程
##### 2.1.1 登录接口(必接)
1、请求地址:http://gameurl/ (游戏入口地址,游戏方提供) 
2、请求方式:get 由4177平台iframe跳转至游戏地址
3、请求参数:
```
open_id:用户open_id,
access_token:用户登录口令,
channel:用户渠道,
is_favorite:是否收藏(0:未收藏,1:已收藏),收藏功能用于实现包括但不限于:微端下载、发送桌面、关注公众号等。,
```
##### 2.1.3 前端初始化(必接)
游戏加载时加载4177js文件,并做初始化 <script src="http://passport.4177.com/game/h5sdk" type="text/javascript>"</script> 
1、请求参数:
```
app_id:应用id,
open_id:用户open_id,登录授权时传入,
channel:平台渠道标识,登录授权时传入
```
2、请求参数:
```
var initdata = {
app_id:"XXX",
open_id:"XXX",
channel: "XXX"
};
```
3、请求方式:在游戏加载时调用 初始化sdk:aiaiusdk.init(initdata);
4、返回值 无
#### 2.2 充值流程
##### 2.2.1 充值唤起(必接)
1、请求参数:
```
open_id:用户open_id,
access_token:用户登录口令,
bill_no:游戏充值订单号(游戏方可唯一识别),
goods_name:商品名称,
ext:额外参数,充值后原样返回,
total_fee:充值歪钻数,1元RMB = 10歪钻 .(大于1,且不包含小数),
sign:请求校验参数(签名需要在后端生成后再返回前端,secret_key不直接暴露在前端)md5(access_token=XXX&bill_no=XXX&ext=XXX&goods_name=XXX&open_id=XXX&secret_key=xxx&total_fee=XXX)
```
2、请求方式
```
引用js文件:<script src="http://passport.4177.com/game/h5sdk" type="text/javascript"></script>,
初始化sdk:aiaiusdk.init(),
拼装参数
var paydata = {
"open_id":'111111111111111',
"access_token":'22222222',
"bill_no":'33333333333',
"goods_name":'游戏大礼包',
"total_fee":1,
"ext":'abc',
"sign":'aaaaaaaabc',
},
调用支付方法:aiaiusdk.pay( paydata, function (code, msg) { alert("支付 code="+code+",msg="+msg);
```
示例代码
```
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<script src="http://passport.4177.com/game/h5sdk" type="text/javascript"></script>
<script>
aiaiusdk.init();
var paydata = {
"open_id":'111111111111111',
"access_token":'22222222',
"bill_no":'33333333333',
"goods_name":'游戏大礼包',
"total_fee":1,
"ext":'abc',
"sign":'aaaaaaaabc',
};
aiaiusdk.pay( paydata, function (code, msg) {
alert("支付 code="+code+",msg="+msg);
});
</script>
</head>
<body>
</body>
</html>
```
3、返回值
| code | msg |
| ---- | ------------------------------- |
| 5 | 关闭支付 |
| 6 | 支付成功(目前支付成功直接重新加载游戏页面,后续版本将会改进) |
| 7 | 支付失败 |
| 8 | 取消支付 |
| 9 | 支付参数错误 |
| 10 | 支付参数数量错误 |
## 2.3 统计接口
##### 2.1.5 角色创建接口(必接)
1、请求参数:
```
open_id:用户open_id,
server_id:服务器id,
server_name:服务器名称
role_id:角色id
role_name:角色昵称
```
2、请求方式:
```
var roleData = {
open_id:"123456789abc",
server_id:"123456789abc",
server_name: "123456789abc"
role_id: "123456789abc"
role_name: "123456789abc"
};
```
调用查询接口方法: aiaiusdk. createRole (roleData)
##### 2.1.6 进入游戏接口(必接)
1、请求参数:
```
open_id:用户open_id,
server_id:服务器id,
server_name:服务器名称
role_id:角色id
role_name:角色昵称
```
2、请求方式:
```
var roleData = {
open_id:"123456789abc",
server_id:"123456789abc",
server_name: "123456789abc"
role_id: "123456789abc"
role_name: "123456789abc"
};
```
调用查询接口方法: aiaiusdk. enterGame (roleData)
##### 2.1.6 open事件接口(必接)
1、请求参数:
```
open_id:用户open_id,
server_id:服务器id,
server_name:服务器名称
role_id:角色id
role_name:角色昵称
```
2、请求方式:
```
var roleData = {
open_id:"123456789abc",
server_id:"123456789abc",
server_name: "123456789abc"
role_id: "123456789abc"
role_name: "123456789abc"
};
```
调用查询接口方法: aiaiusdk. enterGame (roleData)
```
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
function getCookie(name) {
var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
return r ? r[1] : undefined;
}
function delCookie(name){
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+"; path=/;expires="+exp.toGMTString();
}
function setCookie(name, value, Days){
if(Days == null || Days == ''){
Days = 300;
}
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + "; path=/;expires=" + exp.toGMTString();
}
```
......