1.24.2 • Published 4 years ago

@efox/chatroom v1.24.2

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

聊天室封装简易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

1.24.2

4 years ago

1.21.2

4 years ago

1.21.0

4 years ago

1.18.0

4 years ago

1.13.0

4 years ago

1.12.0

4 years ago