4.2.5 • Published 4 years ago
@ysfe/h5-core-sdk v4.2.5
@ysfe/h5-core-sdk
游戏猫 - 通用 SDK - 接入服务
接入前准备
- 检查环境配置
node 版本: > node 10.18.0
typescript: 支持 (建议)
- 申请 AppId
申请方式请联系对接同学索要.
使用方式
安装依赖
- npm:
npm install @ys/common-sdk
- yarn:
yarn add @ys/common-sdk
CommonJS 接入示例
import CommonSDK from '@ys/common-sdk'
/** 实例化 SDK */
const sdk = new CommonSDK({
appid: '' // * 必填项
})
/** sdk 初始化 */
sdk.init().catch((e) => {
alert(e?.message ?? e)
})
/** 调用登录 */
sdk.support.login()
/** demo: 调用登录, 并在登录成功后立即拉起支付 */
sdk.support
.login()
.then(() => {
console.log('登录成功')
// 拉起支付
sdk.support.pay({
/* ... */
})
})
.catch((e) => {
console.error('登录失败', e)
})
/** 全局监听关闭事件回调 */
sdk.on('exit', () => {
console.warn('退出游戏')
window.close()
})
/** 全局使用 */
// 方式 1: 作为 window 变量向全局暴露
window.sdk = sdk
// 方式 2: 导出变量使用
export const sdk = sdk
UMD 接入示例
准备工作
<html>
<head>
<!-- 添加script引用 -->
<script src="http://play.jin908.com/h5sdk/yxm.js" defer />
</head>
</html>
// use
const sdk = new window.CoreSDK({
appid: '' // TODO 待从融合返回值中增加的 appId 参数.
})
// 其他的直接从 融合发起方法调用即可.
注意事项
- 如果是 typescript 项目, 使用 window 变量导出时, 需要新建一个
.d.ts
文件, 定义下 window 变量.
import CommonSDK from '@ys/common-sdk'
declare interface Window {
sdk: CommonSDK
}
类型定义
SDKEventType
type SDKEventType = 'init' | 'login' | 'logout' | 'exit'
SDK 支持方法
sdk
方法/属性 | 描述 | 备注 |
---|---|---|
init | sdk 初始化 | 必接, 否则后续无法进行 |
support | sdk 支持能力 | |
on | 绑定事件 | 注意, 同一事件, 仅存在 1 个事件绑定 |
off | 解绑事件 |
sdk.support
方法/属性 | 方法描述 | 参数 | 是否必接 |
---|---|---|---|
login | 登录游戏 | 是 | |
logout | 游戏注销 | 是 | |
exit | 退出游戏 | 是 | |
submitRoleInfo | 提交角色信息 | { /* 用户标识 / openId: string /* 角色 id / roleId: string /* 角色名 / roleName: string /* 角色等级 / roleLevel: string /* 服务器 id / serverId: string /* 服务器名称 / serverName: string} | |
pay | 发起支付 | { /* 金额(单位:元) / price: number /* 通知发货地址 / notifyUrl: string /* 商品名称 / productName: string /* 商品介绍 / productDesc: string /* cp 订单 ID / outTradeId: string /* 角色 id / roleId: string /* 角色名 / roleName: string /* 服务器 id / serverId: string /* 服务器名称 / serverName: string} |
sdk.on
参数说明 | 属性 | 类型 | 说明 | | --- | --- | --- | | event | SDKEventType | 事件名 | | callback | (res: { success: boolean; errMsg?: string; data?: any}) => void | 回调结果 |
调用示例
sdk.on('exit', (res) => {
const { success, data, errMsg } = res
})
- 返回值
- sdk
- 支持连续绑定
sdk.on('login', (res) => {
const { success, data, errMsg } = res
}).on('exit', (res) => {
const { success, data, errMsg } = res
})
sdk.off
参数说明 | 属性 | 类型 | 说明 | | --- | --- | --- | | event | SDKEventType | 事件名 |
调用示例
sdk.off('exit')
- 返回值
- 无