# WarGaming App SDK

WarGaming App SDK 是一个用于WebView和原生App之间通信的JavaScript SDK。

## 安装

```bash
npm install wgappsdk
# 或者
yarn add wgappsdk
```

## 使用方法

### 导入

```typescript
import { callNative, onAppMessage, JumpMethod, JumpType } from 'wgappsdk';
```

### 调用原生方法

```typescript
// 显示标题
await callNative(JumpMethod.SHOWTITLE, { title: "页面标题" });

// 打开H5页面
await callNative(JumpMethod.OPENH5URL, { url: "https://example.com" });

// 获取网络状态
const netStatus = await callNative(JumpMethod.GETNETSTATUS);

// 分享链接
await callNative(JumpMethod.JUMPTOSHARE, {
  project: "forum",
  type: ShareType.URL,
  title: "分享标题",
  desc: "分享描述",
  iconUrl: "https://example.com/icon.png",
  url: "https://example.com"
});
```

### 监听原生消息

```typescript
onAppMessage((appData) => {
  switch (appData.biz) {
    case "pushComment":
      // 处理评论消息
      console.log(appData.data);
      break;
    case "pushSelected":
      // 处理选择消息
      console.log(appData.data.selectedVal);
      break;
    // ... 处理其他消息类型
  }
});
```

## API 文档

### callNative

调用原生方法的通用接口。

```typescript
function callNative(jumpMethod: JumpMethod, jumpConfig?: any): Promise<any>
```

### onAppMessage

监听原生消息的回调接口。

```typescript
function onAppMessage(callback: (appData: TMessage) => void): Promise<void>
```

## 类型定义

SDK 提供了完整的 TypeScript 类型定义，包括：

- JumpMethod: 所有可用的原生方法枚举
- JumpType: 跳转类型枚举
- ShareType: 分享类型枚举
- 各种接口类型定义（ITitleBarStyle, IVibrate 等）

[demo](https://zs.wows.360.cn/sdktest.html) 在 APP 内打开看效果

[参考文档](https://tongzonghuas-organization.gitbook.io/wgappsdk-1/)