@skillnull/webeesocket
v0.1.5
Published
通过事件驱动机制 EventEmitter 对 Websocket 和微信 connectSocket 进行集成封装
Downloads
3
Maintainers
Readme
通过事件驱动机制 EventEmitter 对 Websocket 和微信 connectSocket 进行集成封装
CDN
使用 UMD 格式
<script src="https://www.unpkg.com/@skillnull/[email protected]/dist/WebEESocket.js"></script>
# or
<script src="https://cdn.jsdelivr.net/npm/@skillnull/[email protected]/dist/WebEESocket.js"></script>
使用 ES 格式
<script src="https://www.unpkg.com/@skillnull/[email protected]/dist/WebEESocket.es.js"></script>
# or
<script src="https://cdn.jsdelivr.net/npm/@skillnull/[email protected]/dist/WebEESocket.es.js"></script>
安装
yarn add @skillnull/webeesocket
# or with npm
npm install @skillnull/webeesocket
使用
// 使用 CDN 引用时,无需 import
import { WEBSOCKET } from '@skillnull/webeesocket'
/**
* @params: {
* url: <String> 服务器连接地址
* auth: <Any> 服务器认证信息
* heartbeat?: <Any> 心跳握手内容
* heartbeat_time?: <Any> 心跳握手间隔,默认30000ms,heartbeat 传值此项才会生效
* protocol?: <String | String[]> 协议
* reconnect_step?: <Number> 重连间隔,不传默认 1000,传 -1 表示不重连
* }
*/
this.WEBSOCKET = new WEBSOCKET({
url: "your socket server url",
auth: {
// server need auth info
},
heartbeat: {
// heartbeat need info
},
heartbeat_time: 30000,
protocol: "protocol for websocket",
reconnect_step: 1000
})
/**
* code: 与服务端约定的用于监听的 code
*/
this.WEBSOCKET.on(code, (data) => {
// handler data
})
/**
* 订阅
* @data: {
* key: <String> 用于缓存和退订,需保证唯一和可回溯
* body: <Any> 服务端需要的,订阅的具体参数,默认将进行 JSON.stringify
* not_stringify?: <Boolean> 是否取消将参数 body 进行 JSON.stringify,默认 false
* }
*/
this.WEBSOCKET.subscribe({
key: "require",
body: "require",
not_stringify: "not require"
})
/**
* 退订
* @data: {
* key: <String> 订阅时传的 key
* body?: <Any> 其他参数,会合并到订阅时缓存的 body 上,默认将合并后的 body 进行 JSON.stringify
* not_stringify?: <Boolean> 是否取消将合并后的参数 body 进行 JSON.stringify,默认 false
* }
*/
this.WEBSOCKET.unsubscribe({
key: "require",
body: "require",
not_stringify: "not require"
})