chat-sdk-new

1.0.6 • Public • Published

使用方法

引入方式

  • npm 方式:

安装:

npm i chat-sdk-new

调用:

import ChatSDK from 'chat-sdk-new'

let chat = new ChatSDK()

API

WebSocket 初始化: initWS(url, id, msgCallback, openCallback, errCallback, closeCallback)

demo:
// 参数说明: url: WebSocket url   id: 用户输入的管理员信息  msgCallback: WebSocket监听消息的回调, openCallback: 连接成功的回调, errCallback: 断开连接的回调, closeCallback: 关闭连接的回调)
// 用户输入的管理员信息会拼接到WebSocket url的后边
chat.initWS(
  'wss://chat.wolover.cn/my_dev_id/',
  'WSadmin2',
  (res) => {
    console.log(res) // res为WebSocket里onMessage接收到的消息
  },
  () => {
    console.log('连接成功')
  },
  () => {
    console.log('断开连接')
  },
  () => {
    console.log('连接已关闭')
  }
)

res 参数说明:

{
    current_group_data,     // 当前所处群组的成员数据
    data,                   // 所有数据,包括群组列表以及群组内成员数据
    dev_group,              // 当前所处群组
    dev_id,                 // 当前群组的调度平台
    msg_type,               // 消息类型
}

获取麦克风权限: tryGetPermission()

demo:
//  调用initWS()方法默认调用tryGetPermission()方法
chat.tryGetPermission()

检查是否有权限: checkPermission()

demo:
chat.checkPermission()
  • 返回值: Boolean 类型

新的语音消息到来时的回调: setAudioMsgRecvCallback(callback)

demo:
chat.setAudioMsgRecvCallback((e) => {
  console.log(e) // e为语音消息数据
})

创建新群组: addGroup(group_name)

demo:
// 参数说明:
// group_name: 群组名
chat.addGroup('新群组').then((res) => {
  console.log(res) // res为请求成功的返回值
})

删除群组: delGroup(group_name)

demo:
// 参数说明:
// group_name: 群组名
chat.delGroup('群组').then((res) => {
  console.log(res) // res为请求成功的返回值
})

编辑群组: renameGroup(group_name, new_group_name)

demo:
// 参数说明:
// group_name: 老名称; new_group_name: 新名名称
chat.renameGroup('老名称', '新名称').then((res) => {
  console.log(res) // res为请求成功的返回值
})

切换当前所在群组: setCurrentGroup(group_name)

demo:
// 参数说明:
// group_name: 群组名
chat.setCurrentGroup('群组A')

新增管理人员: addWsDev(dev_id, dev_name)

demo:
// 参数说明:
// dev_id: 管理人员ID,必须是WS开头的英文+数字的字符串。  总长度是6-11位。不能含有空格
// dev_name: 管理人员昵称,必须是2-10位长度的中文/英文/数字/下划线 的字符串, 不能含有空格
chat.addWsDev('WSadmin13', '系统超管13').then((res) => {
  console.log(res) // res为请求成功的返回值
})

查询所有设备成员: getDevList()

demo:
chat.getDevList().then((res) => {
  console.log(res) // res为请求成功的返回值
})

邀请设备成员到群组(可单个或多个): addMembersToGroup(group_name, dev_ids)

demo:
// 参数说明:
// group_name: 群组名
// dev_ids: dev_id(数组格式)
// dev_id从getDevList()方法中获取
chat.addMembersToGroup('群组名', ['4001', '4002']).then((res) => {
  console.log(res) // res为传入参数之后的返回值
})

移除成员(把设备从群组中移除): delMember(dev_id, group_name)

demo:
// 参数说明:
// dev_id: 成员设备ID
// group_name: 群组名
chat.delMember('4001').then((res) => {
  console.log(res) // res为传入参数之后的返回值
})

编辑成员(修改设备名称): renameMember(dev_id, dev_name)

demo:
// 参数说明:
// dev_id: 成员设备ID
// dev_name: 成员设备名称
chat.renameMember('4001', '名称').then((res) => {
  console.log(res) // res为传入参数之后的返回值
})

删除设备/管理人员: delDev(dev_id)

demo:
// 参数说明:
// dev_id: 成员设备ID
chat.delDev('4001').then((res) => {
  console.log(res) // res为传入参数之后的返回值
})

通道标定(设置某设备所归属的所有群组): setDevGroupsInfo(dev_id, groups)

demo:
// 参数说明:
// dev_id: 成员设备ID
// groups: 群组名的数组
chat.setDevGroupsInfo('4001', ['群组A', '群组B']).then((res) => {
  console.log(res) // res为传入参数之后的返回值
})

一键配置通道(所有群成员设备的通道0将指向本群): activeGroupMembers(group_name)

demo:
// 参数说明:
// group_name: 群组名
chat.activeGroupMembers('群组A').then((res) => {
  console.log(res) // res为传入参数之后的返回值
})

开始录音: startRecord(callback)

demo:
// 参数说明:
// callback: 开始录音后的回调
chat.startRecord(() => {
  console.log('开始录音')
})

结束录音并发送语音消息: endRecord(callback)

demo:
// 参数说明:
// callback: 结束录音后的回调
chat.endRecord((res) => {
  console.log(res) // res为结束录音后接收到的数据
})

res 参数说明:

{
    msg_type: 'new_audio_data',  // 消息格式,当为new_audio_data则说明该数据是一条语音
    from_dev: 'WS',
    from_dev_name: '我',
    arrayBuffer,		// 语音buffer格式
    time		// 语音时长
}

播放录音: playAudioMsg(audioMsg, callback)

demo:
// 参数说明:
// audioMsg: 播放的语音数据(类型: 可传两种类型: ArrayBuffer/base64字符串)
// callback: 播放结束的回调
chat.playAudioMsg(audioMsg, () => {
  console.log('播放结束')
})
// 一般通过平台录的音返回的是ArrayBuffer类型, 接收消息返回的是base64字符串,
// 所以播放录音传参数时可以这样写:
chat.playAudioMsg(item.arrayBuffer || item.b64_data, () => {
  console.log('播放结束')
})

ArrayBuffer 转 base64 方法: arrayBufferToBase64()

demo:
chat.arrayBufferToBase64(buffer)
  • 返回一个 base64 字符串

base64 转 ArrayBuffer 方法: base64ToArrayBuffer()

demo:
chat.base64ToArrayBuffer(base64)
  • 返回一个 ArrayBuffer

Readme

Keywords

none

Package Sidebar

Install

npm i chat-sdk-new

Weekly Downloads

8

Version

1.0.6

License

ISC

Unpacked Size

13.1 kB

Total Files

3

Last publish

Collaborators

  • zq19971006