# zkj-live-trtcwebsdk
```
基于TRTC封装的WebRTC SDK，提供视频通话、录制、截图等能力。
```
## 安装
```
npm install zkj-live-trtcwebsdk
```
## 使用
```
import Vue from 'vue'
import ZkjLiveTrtcWebSdk from 'zkj-live-trtcwebsdk'

Vue.use(ZkjLiveTrtcWebSdk)
```
## 初始化
### 全局初始化
```
this.$webRtcSdk({ id: '用户id', sign: '用户签名', nick: '用户昵称' })
```
### 组件自动初始化
```
<zkj-live-trtc-web-sdk auto origin="http://..." user="userInfo" member="memberList"></zkj-live-trtc-web-sdk>
```
### 发起会话时初始化
```
<zkj-live-trtc-web-sdk ref="webSdk" origin="http://..." user="userInfo" member="memberList"></zkj-live-trtc-web-sdk>

export default {
  methods: {
    start () {
      this.$refs.webSdk.makeCall() // 发起会话
    }
  }
}
```
## 配置项
```
props: {
  auto: { // 自动初始化
    required: false,
    type: [Boolean],
    default: () => false
  },
  origin: { // 接口请求地址前缀
    required: true, // 必填
    type: [String],
    default: () => ''
  },
  user: { // 用户信息
    required: true, // 必填
    type: [Object]
  },
  member: { // 成员信息
    required: true, // 必填
    type: [Object, Array]
  }
}
```
### 用户信息结构
```
{
  id: '用户id', (必填项)
  sign: '用户签名' (必填项),
  nick: '用户昵称' (选填项)
}
```
### 成员信息结构 (推荐数组类型)
```
[
  {
    id: '用户id', (必填项)
    nick: '用户昵称' (选填项)
  }
]
```
## 方法
```
makeCall :发起会话
```
## 事件
### 呼叫类事件
```
@callEvent="handleEvent"

handleEvent (data) {
  // data: {
  //   type：类型: waiting：等待；refuse：拒绝；cancel：取消；success：成功；over：结束；
  //   id：触发者用户id
  // }
}
```
### 操作类事件
```
@ctrlEvent="handleEvent"

handleEvent (data) {
  // data: {
  //   type：类型: call：呼叫；close：关闭；muteAudio：静音/取消静音；muteVideo：关闭/打开 画面；screenshot：截屏；
  //   value：数据(若有)
  // }
}
```
### 错误类事件
```
@errorEvent="handleEvent"

handleEvent (msg) {
  // msg: 错误信息
}
```
## 其他
```
1. 自适应；
2. 支持拖拽；
```