0.2.5 • Published 4 years ago
jarvis-replica v0.2.5
Jarvis Replica
Jarvis 大屏受控端, 查看演示项目
安装
npm install jarvis-replica
使用
import JarvisReplica from 'jarvis-replica'
const replica = new JarvisReplica({
url: `ws:127.0.0.1:3000`,
secrets: '5r9b4vto246doa9hwk55rr',
id: 'vis-1'
})
// 连接服务器
replica.connect()
参数名 | 说明 | 类型 | 必填 |
---|---|---|---|
url | Jarvis 服务器地址 | string | true |
secrets | 服务器设置的密码 | string | true |
id | 受控端的唯一ID | string | false |
监听事件
你可以使用 on
方法监听事件:
replica.on('open', (e) => {
console.log('已经连接到控制服务器!')
})
replica.on('command', (e) => {
console.log('接收自定义事件')
})
replica.on('*', data => {
console.log('接收所有的自定义事件')
})
目前支持的事件如下:
事件名 | 说明 | 参数 |
---|---|---|
open | 连接到控制服务器 | - |
error | 连接出错 | - |
close | 连接断开 | - |
reconnect-fail | 重连失败 | - |
* | 所有自定义 command 事件 | {command: 'type', arguments: {}} |
command | 自定义事件 | 参数对象 |
心跳检测
服务端每隔 10s
会向受控端发送 ping
事件, 受控端返回 pong
, 若检测到断开连接, 则每隔 10s
尝试重连一次, 连续三次重连失败, 受控端会发送 reconnect-fail
事件给页面, 后续逻辑需要监听事件自行处理
replica.on('reconnect-fail', () => {
console.log('replica跟server断开连接, 并尝试重连失败')
})
其他
目前受控端支持接收来自三种方式发送的指令, 具体使用方式请参考相关文档
controller.send
发送的指令- 直接通过服务端, 使用
server.sendToReplica
发送的指令 - 其他server通过http发送的指令
服务端和控制端的使用方式, 可查阅下方文档