UNPKG

uno-ws-client

Version:
109 lines (90 loc) 3.69 kB
## Installation ```js npm install uno-ws-client --save ``` ## Usage ```jsx import { Ws, SDKBase } from '@ali/ws-client'; const ws = new Ws('wss://pre-citybrain-open.aliyun.com/app/space-ws/ws', { // autoConnect: true, registerData: { source: 'web1', target: ['UE'], data: { sid: "96954", name: "appX1", group: "abcd" }, event: 'register', }, // reconnectionDelay: 2000, // closeHeartbeat: false, // heartbeatDelay: 30000, // heartbeatWait: 2000, callback: (data) => { console.log(data); }, // connectByClose: true }); const sdk = new SDKBase({ service: 'wss://pre-citybrain-open.aliyun.com/app/space-ws/ws', source: 'web1' target: ['UE'], roomExclude: [''], registerData: { name: "appX1", group: "abcd" }, extraWs: { closeHeartbeat: true }, }); ``` ## WSOptions | 属性名 | 说明 | 必填 | 类型 | 默认值 | 备注 | | :-----| :---- | :----: | :----: | :----: | :---- | | autoConnect | 是否需要自动连接 | 否 | Boolean | true | --- | | reconnectionDelay | 重连间隔时间 || Number | 2000 | --- | | closeHeartbeat | 是否关闭心跳检测 | 否 | Boolean | false | --- | | heartbeatDelay | 心跳检测间隔 || Number | 20000 | closeHeartbeat为false时生效 | | heartbeatWait | 心跳检测超时时间,超出重连 | 否 | Number | 2000 | closeHeartbeat为false时生效 | | connectByClose | 断开重连 || Boolean | true | --- | | registerData | 注册信息,初始化有的话,自动注册 | 否 | [RegisterData](#registerdata) | null | --- | | callback | 收到消息的回调 || (msg: Object) => {} | null | --- | ## SDKOptions | 属性名 | 说明 | 必填 | 类型 | 默认值 | | :-----| :---- | :----: | :---- | :----: | | service | 需要连接的服务地址 || String | - | | source | 当前客户端id || String | - | | target | 消息发送目标端 || Array<String> | - | | roomExclude | 当前广播需要过滤的端, target优先级高 || Array<String> | - | | registerData | 注册内容 || [RegisterData](#registerdata) | - | | extraWs | websocket扩展配置 || [Options](#WSOptions) | {} | ## RegisterData | 属性名 | 说明 | 必填 | 类型 | 默认值 | | :-----| :---- | :----: | :----: | :----: | | name | 发送端名称 || string | - | | group | 消息通道房间名称 || string | - | | hasCbMsg | 注册消息是否需要广播 || boolean | - | | disconnectTime | 长时间不发送消息时,服务端主动断开服务需要的时间 || number | 60000 | ## WSInstance API | 属性名 | 说明 | 类型 | 备注 | | :---- | :---- | :---- | :---- | | send | 发送消息 | (data: Object) => {} | --- | | destroy | 销毁当前实例 | Function | --- | | init | 初始化(销毁后可以手动初始化) | Function | --- | | updateOptRetry | 更新配置后重新初始化 | (url: Options | string, opts?: Options) => {} | --- | | register | 自定义注册 | (registerData: Object) => {} | --- | | on | 事件监听 | [eventList](#eventList) | --- | ## SDKInstance API | 属性名 | 说明 | 类型 | 备注 | | :-----| :---- | :---- | :---- | | listener | 按event和action监听消息内容返回 | (eventName: string, callback: (message: object) => void) => void | - | | registerEvent | 注册自定义事件 | (eventName: string, parser: (data) => data)) => {} | - | | send | 发送消息 | (event: string, message: object) => {} | - | | updateOptRetry | 更新配置后重新初始化 | (opts: Options) => {} | - | | destroy | 销毁函数 | Function | - | ## eventList | 事件名 | 说明 | | :----: | :---- | | load | ws连接成功 |