1.0.5 • Published 9 months ago

usc-ptt-sdk v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

usc ptt sdk开发手册

===============

1.安装

//使用yarn安装 
yarn add usc-ptt-sdk
//使用npm安装
npm install usc-ptt-sdk

CDN方式引入

<script type="module">
  import { clientEvent, createPttClient, disableLog, enableLog, pttErrorCode } from 'index.js'
  const client = await createPttClient(ws.value)
</script>

2.简单使用demo

import { clientEvent, createPttClient, pttErrorCode } from 'usc-ptt-sdk'
  const client = await createPttClient(ws.value)
  client.on(clientEvent.ACTIVE_GROUP,(e)=>{
    // e为空字符串时表示当前没有加入任何组,否则e为加入的组的组id
    if(e)
      console.log(`进入组:${e}`)
    else
      console.log('退出组')
  })
  client.on(clientEvent.SPEAKER,(e)=>{
    // e为空字符串时表示当前没有人在说话,否则e为说话人的ptt号
    if(e)
    console.log(`${e}正在说话`)
    else
    console.log(`停止说话`)
  })
  client.on(clientEvent.TALKING,(e)=>{
    // e为true时表示当前自己在说话,否则表示自己停止说话
    if(e)
    console.log(`您正在说话`)
    else
    console.log(`您已停止说话`)
  })
  client.on(clientEvent.JOIN_INFO,(e)=>{
    // 有用户加入组时通知,
    // e的结构如下
      // {
      //   user:8003, 加入的用户号
      //   group:100114, 组id
      //   code:1,  0表示退出组,1表示加入组
      // }
    console.log(`用户加入通知:${JSON.stringify(e)}`)
  })
  // 用户操作
    client.joinGroup('100114','10000008003','10.168.1.17',20023)
    client.quitGroup()
    client.talk()
    client.stop()

3.sdk说明

此项目为javascript项目,以下是一些重要的Api说明:

1.createPttClient

此方法用来初始化一个PttClient客户端,内部已经封装了心跳,消息交互,api描述如下:

import { createPttClient } from "usc-ptt-sdk"
const client = await createPttClient(
  'ws://127.0.0.1:40000', //pttClient连接的地址
  20,                     //心跳间隔(S),非必选,默认20s
  true                    //是否自动重连,非必选,默认true
  )

2.PttClient

PttClient是用来实例化Ptt终端的对象,内部主要方法如下

  • joinGroup(group, user, ptts, port) 加入组
  • quitGroup() 退出组
  • talk() 说话
  • stop() 停止说话

3.ClientEvent

ClientEvent 表示底层封装向上抛出的一些业务与非业务的生命周期事件,具体如下
const clientEvent = {
  ERROR:'error',                  //错误事件
  SPEAKER:'speaker',              //有用户说话或停止说话时触发该事件
  TALKING:'talking',              //自己说话或停止说话时触发该事件
  ACTIVE_GROUP:'activeGroup',     //加入组或退出组时触发该事件
  JOIN_INFO:'joinInfo',           //有用户加入或退出组时触发该事件
}

事例代码

import { clientEvent, createPttClient, pttErrorCode } from 'usc-ptt-sdk'
  const client = await createPttClient('ws://...')
  client.on(clientEvent.ACTIVE_GROUP,(e)=>{
    // e为空字符串时表示当前没有加入任何组,否则e为加入的组的组id
    if(e)
      console.log(`进入组:${e}`)
    else
      console.log('退出组')
  })
  client.on(clientEvent.SPEAKER,(e)=>{
    // e为空字符串时表示当前没有人在说话或当前说话人停止说话,否则e为说话人的ptt号
    if(e)
    console.log(`${e}正在说话`)
    else
    console.log(`停止说话`)
  })
  client.on(clientEvent.TALKING,(e)=>{
    // e为true时表示当前自己在说话,否则表示自己停止说话
    if(e)
    console.log(`您正在说话`)
    else
    console.log(`您已停止说话`)
  })
  client.on(clientEvent.JOIN_INFO,(e)=>{
    // 有用户加入组时通知,
    // e的结构如下
      // {
      //   user:8003, 加入的用户号
      //   group:100114, 组id
      //   code:1,  0表示退出组,1表示加入组
      // }
    console.log(`用户加入通知:${JSON.stringify(e)}`)
  })

请在客户端不用时,调用destory方法销毁客户端(例如路由切换时)

1.0.5

9 months ago

1.0.4

11 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago