Toggle navigation
Toggle navigation
This project
Loading...
Sign in
youyu
/
web_sdk
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
chufan
2017-06-01 18:19:57 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
57581b3a9cb24393120879a6bf4e698c7c3f8330
57581b3a
1 parent
2a0539d2
readme
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
261 additions
and
0 deletions
README.md
README.md
View file @
57581b3
#### 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();
}
```
...
...
Please
register
or
login
to post a comment