# H5SDK接入文檔
### **demo演示地址 `http://play.jin908.com/1563422358948475/0`**
*****
## 一.適用范圍
該SDK適用于H5網頁游戲
## 二.如何集成
游戲貓H5SDK推薦使用標簽方式引入JS
```
<script async src="http://play.jin908.com/sdk/h5sdk.js"></script>
```
****請保持[http://play.jin908.com/sdk/h5sdk.js](http://play.jin908.com/sdk/h5sdk.js)域名及路徑不變,我們會保持版本最新,請不要下載下來使用,避免受到舊版本的影響****
## 三.接口調用
#### 3.1 登錄 (切換賬號)
```
YXMSDK.userLogin()
```
調用此接口無須傳遞任何參數,登錄流程在H5SDK內部完成,CP只需調起即可
調用場景:進入游戲主頁調用
##### 3.1.1 登錄回調
```
YXMSDK.loginCallback = function(data) {
// data = {state: '1',openId:'xxxx',message:'xxxx'}
// state=> 1:成功,2,失敗
// message => 返回的基礎信息
// 登錄回調邏輯
}
```
##### 3.1.2 登出回調(切換賬戶)
```
YXMSDK.logoutCallback = function() {
// 無參數返回 cp需執行角色登出游戲邏輯
// 登出回調(切換賬戶)回調邏輯
}
```
### 3.2 支付
3.2.1,首先獲取商品信息
```
YXMSDK.createOrder();
```
參數說明:
| 參數名 | 參數類型 | 必填| 參數說明|
| --- | --- | ---| ---|
| cpOrderId | string | 是| 訂單id|
| amount | number | 是|商品金額(元) (大于等于0.1元)|
| goodsDesc | string |是 | 商品描述|
| notifyUrl | string |是 |發貨地址 |
| roleId | string |是 |角色id |
| roleName | string |是 |角色名稱 |
| roleServerName | string |是 | 角色所在區服名稱 |
| roleServerId | string |是 | 角色所在區服id |
| extras | string |否 | 透傳參數 |
| roleGrade | string |是 |角色等級 |
示例:
```
YXMSDK.createOrder({
cpOrderId: '2091828',
amount: 10.0,
goodsDesc: '鉆石',
notifyUrl: 'http://mock.xxxx.cn/mockjsdata/11/sdk/notify',
roleId: '1',
roleName: '憤怒的小鳥',
roleServerName: '角色區服名稱',
roleServerId: '10',
extras: '',
roleGrade: '10'
})
```
3.2.2,調起支付回調
```
YXMSDK.payCallback = function(data) {
// 完成支付的回調數據
// data = {state: 1,message: 'xxx'}
// state=> 1:成功,2:取消 3,失敗
// message => 返回的支付結果信息
}
```
#### 3.3 角色上報
使用場景
1:創建角色
2:選擇角色,進入游戲
3:等級提升
4:修改角色名稱
`YXMSDK.uploadGameRoleInfo();`
參數說明:
| 參數名 | 參數類型 | 必填| 參數說明|
| --- | --- | ---| ---|
| roleId | string | 是| 角色id|
| roleName | string | 是|角色名稱 |
| roleServerId | string |是 | 角色所在區服id|
| roleServerName | string |是 |角色所在區服名稱 |
| roleGrade | string |是 |角色等級 |
示例:
```
YXMSDK.uploadGameRoleInfo({
roleId: '221',
roleName: 張三',
roleServerId: '10',
roleServerName: '角色區服名稱',
roleGrade: '10'
})
```