Jarvis Rtc client
安装依赖: https://www.npmjs.com/package/jarvis_rtc_client
安装最新版本
npm i jarvis_rtc_client -S
yarn add jarvis_rtc_client -S
快速接入
// 引入依赖包 let config = // 自定义扩展参数 extra: name: '<name>' userId: '<userId>' other: '....' other2: '....' session: // 是否接受数据传输(必须为true) data: true // 是否启用视频 audio: false // 是否启用音频 video: false // 房间唯一idlet roomId = "xxx" // 用于保存房间内所有在线用户列表信息let roomUserList = // 连接host, 必须以 "/" 结尾let connectionHost = "http://localhost:7001/" RtcClient = connectionHost roomId config;// 打开调试模式RtcClientdebug = trueRtcClientRtcClientRtcClient RtcClient
方法
JarvisRtcClient
实例化 JarvisRtcClient
实例化JarvisRtcClient
之前, 必须在构造函数中传入配置参数, 参数示例如下:
let config = // 自定义扩展参数 extra: name: '<name>' userId: '<userId>' other: '....' other2: '....' session: // 是否接受数据传输(必须为true) data: true // 是否启用视频 audio: false // 是否启用音频 video: false
/*** connectionHost: 通讯服务端的host, 例如: http://localhost:7001/, 注意, 必须以 "/" 结尾* roomId: 要进入或创建 的房间id, 客户端生成并传入* config: 连接配置参数*/let RtcClient = <connectionHost> <roomId> <config>
open
建立连接
let RtcClient = host roomId config; RtcClient RtcClient
通过监听 onConnectionSuccess 事件, 加入连接成功后的逻辑
send
发送文本消息
连接成功后, 可以通过send
方法发送通讯报文, 报文必须为字符串.
接收并处理消息, 可监听 onMessage 事件进行处理
let msgObject = type: "M01" participant: null from: thatuserId name: thatname // data: { rtv: '' }, data: "消息内容" time: RtcClient
Param | 中文 | 类型 | 描述 |
---|---|---|---|
type | 报文类型 | String | M01: 普通消息 |
participant | 通道id | String | 通讯用户id, 统称 通道id |
from | 发送消息用户id | String | 平台用户id |
name | 发送者昵称 | String | 平台用户昵称 |
time | 发送时间 | Long | 当前发送时间 |
data | 发送消息体 | String/Object | 客户端自定义的消息体 |
disconnect
断开连接
当用户主动断开连接时, 可调用该方法与服务断断开连接
RtcClient
事件
事件监听通用配置:
如想监听 onUserStatusChanged
事件, 只需要添加如下代码即可:
/*** eventName: 监听的事件名称* self: 当前函数的作用域 this, 一搬传this即可* callback: 事件回调函数*/RtcClient
onUserStatusChanged
当用户状态改变时(上线或者离线), 服务端会通过该事件通知客户端. 客户端不需要维护当前房间的用户列表, 只需要监听
onUserStatusChanged
事件, 并把回调的列表参数(用户列表)展现出来, 就可以了
示例demo:
// 该数组为当前房间内所有的用户列表信息let roomUserList = RtcClient
useList item示例:
status: "online" isEmcee: true participant: "" extra: userId: "" name: "" mail: ""
extra
为用户建立连接前, 实例化时通过 config 配置的, 配置详情请点击这里
Name | Type | Mark |
---|---|---|
status | String | 用户状态: "offline", "online" |
isEmcee | Boolean | 是否主持人 |
participant | String | 通讯用户id, 统称 通道id |
extra | Object | |
extra.userId | String | 用户id |
extra.name | String | 用户昵称 |
extra.mail | String | 用户邮箱 |
onMessage
建立连接并连接正常时, 如房间内的其他用户发送消息, 则会在该事件中响应
onConnectionSuccess
客户端连接成功回调事件, 当用户加入房间或者创建房间成功, 都会通过该事件回调