4.2.5 • Published 4 years ago

@ysfe/h5-core-sdk v4.2.5

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

@ysfe/h5-core-sdk

游戏猫 - 通用 SDK - 接入服务


接入前准备

  1. 检查环境配置
node 版本: > node 10.18.0
typescript: 支持 (建议)
  1. 申请 AppId

    申请方式请联系对接同学索要.

使用方式

安装依赖

  1. npm: npm install @ys/common-sdk
  2. 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 参数.
})
// 其他的直接从 融合发起方法调用即可.

注意事项

  1. 如果是 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

方法/属性描述备注
initsdk 初始化必接, 否则后续无法进行
supportsdk 支持能力
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

  1. 参数说明 | 属性 | 类型 | 说明 | | --- | --- | --- | | event | SDKEventType | 事件名 | | callback | (res: {     success: boolean;     errMsg?: string;     data?: any}) => void | 回调结果 |

  2. 调用示例

sdk.on('exit', (res) => {
    const { success, data, errMsg } = res
})
  1. 返回值
    1. sdk
    2. 支持连续绑定
sdk.on('login', (res) => {
    const { success, data, errMsg } = res
}).on('exit', (res) => {
    const { success, data, errMsg } = res
})

sdk.off

  1. 参数说明 | 属性 | 类型 | 说明 | | --- | --- | --- | | event | SDKEventType | 事件名 |

  2. 调用示例

sdk.off('exit')
  1. 返回值