Socket
Book a DemoInstallSign in
Socket

@efox/chatroom

Package Overview
Dependencies
Maintainers
14
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@efox/chatroom

chatroom工具库

1.24.2
latest
npmnpm
Version published
Maintainers
14
Created
Source

聊天室封装简易sdk

创建实例(createChatroom)

import createChatroom from '@efox/chatroom'
const chatromm = await createChatroom(options)

请求参数:Object

NameTypeDescription
hummer?Hummer原始hummer(没传会自动创建)
otpstring用户token(没传原始hummer时,必须传)
appid?string应用appid(没传原始hummer时,必须传)
region?string用户区域(没传原始hummer时,必须传)
roomid?string房间id(没传会自动创建)
extListenEvents?array补充监听事件列表

响应数据:Object

NameTypeDescription
chatrommObject房间实例

实例属性(attributes)

const {roomid, root, hummer} = chatromm
NameTypeDescription
roomidstring房间id
hummerobject原始hummer
rootobject原始hummer创建的原始chatroom实例

发送消息(send)

chatromm.send({
    event: '',
    data: {
        content: ''
    }
})

请求参数:Object

NameTypeDescription
eventstring发送事件类型
dataObject发送数据

响应数据:Object

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

发送消息事件类型

sendGroupMessage发送群组消息

请求参数:

NameTypeDescription
contentstring内容
kvExtra{[k: string]: string}扩展字段key-value

响应数据:

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

示例:

  const await res = chatromm.send({
    event: 'sendGroupMessage',
    data: {
        content,
        kvExtra
    }
  })

sendSingleUserMessage发送单播消息

请求参数:

NameTypeDescription
contentstring内容
receiverstring接收者uid
kvExtra{[k: string]: string}扩展字段key-value

响应数据:

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

示例:

  const await res = chatromm.send({
    event: 'sendSingleUserMessage',
    data: {
        content, receiver, kvExtra
    }
  })

sendTextChat发送公屏

请求参数:

NameTypeDescription
chatstring内容
extrastring
kvExtra{[k: string]: string}

响应数据:

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

【注】 (1)新业务接入,扩展字段值请使用kvExtra,不要使用extra; (2)如果是需要与移动端sdk进行互通的老业务,需要使用extra的情形,请与移动端SDK进行互通联调;

示例:

  const await res = chatromm.send({
    event: 'sendTextChat',
    data: {
        chat, extra, kvExtra
    }
  })

订阅所有事件(subscribe)

const unsubscribe = chatromm.subscribe(({name, res}) => {
    console.log({
        name, res
    })
})
// 如果要取消该订阅
unsubscribe()

请求参数:Function 可以订阅多次,最多限制20次,每次的传入函数,会有以下对象数据:

NameTypeDescription
namestring事件类型
resObject返回数据

响应数据:Function

执行返回函数,可以取消该订阅

订阅后可以获取到的事件消息

接受事件类型,请参考以下文档中的接受消息部分中的事件名和返回数据

https://github.com/cherishman2005/hummer-js-sdk-api/blob/master/hummer3.0/chatroom/chatroom%E5%AF%B9%E5%A4%96%E6%8E%A5%E5%8F%A3.md

例如接收公屏消息(TextChat)

const unsubscribe = chatromm.subscribe(({name, res}) => {
    if (name === 'TextChat') {
        const {extra, uid, kvExtra} = res
        console.log(res)
    }
})

订阅所有消息(subscribeMsgs)

只订阅单播、群组、公屏三种消息事件

const unsubscribe = chatromm.subscribeMsgs(({name, res}) => {
    // 
})
// 如果要取消该订阅
unsubscribe()

请求参数:Function

NameTypeDescription
namestring事件类型
resObject返回数据

响应数据:Function 执行返回函数,可以取消该订阅

获取用户列表(getUsers)

请求参数:object

NameTypeDescription
num?number数量(默认10)
pos?number起始点(默认0)

响应数据:string[]

NameTypeDescription
uidsstring[]用户列表

原始sdk链接

https://github.com/cherishman2005/hummer-js-sdk-api/blob/master/hummer3.0/chatroom/chatroom%E5%AF%B9%E5%A4%96%E6%8E%A5%E5%8F%A3.md

FAQs

Package last updated on 18 Jun 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.