1.7.6 • Published 2 years ago

swx-ws-mode v1.7.6

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

简介

对基于websocket的场景启动进行一次简单的封装

通过NPM安装

$ npm install/i swx-ws-mode --save

构建sdk

$ npm run build

发布sdk到NPM包管理

$ npm publish

api

URL 对象实例化后的第一个参数是链接通道地址 例如:10.1.40.210:8080

constructor 中有以下属性

属性类型默认值说明
socketUrlString''websocket链接地址
websocketWebSocketnullWebSocket实例对象
resourceString''WebSocket获取资源成功后返回的资源地址
refreshTimesFunction''WebSocket实例保活定时器
timesFunction''WebSocket实例获取排队信息定时器
locationNumber0WebSocket排队队列位置
showWaitingBooleanfalse是否在排队等待
showIframeBooleanfalse是否已返回资源地址
activeLinkBooleanfalseWebSocket对象是否可用
sumNumber0WebSocket排队队列总人数

option 中有以下属性

属性类型默认值说明
AuthorizationString''用户身份信息token Authorization
AuthorizationKeyString''用户鉴权key AuthorizationKey
timesSecondsNumber1000WebSocket实例获取排队信息定时器 请求间隔
refreshSecondsNumber10000WebSocket实例保活定时器 请求间隔
onOpenAutoSendMsgObject{messageType: "QUEUE_LOCATION"}请求排队位置固定参数
openCallbackFunction成功连接时的回调函数
messageCallbackFunction接收到消息的回调函数
errorCallbackFunction错误的回调函数
closeCallbackFunction关闭时的回调函数

Events

事件名参数说明
sendmessage:Any需要发送的数据信息
tryLock-发起排队 .then(res=>{})返回Promise请求结果
removeSocket-关闭socke连接并标记关闭状态,成功关闭可触发websocket默认关闭事件onclose
returnSource-主动关闭socke连接并标记关闭状态,成功关闭可触发websocket默认关闭事件onclose
getWebsocketwebsocket:Object获取实例化之后的websocket对象
getActiveLink-获取当前socket标记状态,当值为false时代表整个socket对象处于不可用状态
websocketOnOpencallback:Function(event:Object)websocket连接建立成功时的回调函数
websocketOnMessagecallback:Function(event:Object)websocket接收到消息时可触发的回调函数
websocketOnErrorcallback:Function(event:Object)websocket出现连接错误时触发的回调函数
websocketOnClosecallback:Function(event:Object)websocket关闭时触发的回调函数

用法示例

import Socket from 'swx-ws-mode'
let socketUrl = "10.1.40.210:8080"

let option = {
   Authorization: 'XXXX',
   AuthorizationKey: 'XXXXX',
   openCallback: res => {
      console.log('建立连接成功', res)
      // ...
   },
   messageCallback: res => {
      // const resData = JSON.parse(res)
      console.log('接收到的消息', res)
      console.log(this.socket)
      this.showIframe = this.socket.showIframe
      this.showWaiting = this.socket.showWaiting
      this.location = this.socket.location
      this.sum = this.socket.sum
      this.resource = this.socket.resource
   }
   //...
}
let ws = new Socket(socketUrl,option) //初始化实例对象
ws.tryLock().then((result) => { //发起排队
   console.log(result)
   if (result.code !== 200 && result.msg !== '') {
      // result.msg 资源占用排队中/未授权,请联系管理员
      // this.$notify({
      // title: '警告',
      // message: `${result.msg}`,
      // type: 'warning'
      // })
   }
}).catch(err => {
   console.log(err)
}) 

//...
//资源断开(会有3分钟间隔归还到资源池)
ws.removeSocket()
//户主动断开链接,立即归还到资源池
ws.returnSource()
1.7.6

2 years ago

1.7.5

2 years ago

1.7.4

2 years ago

1.7.3

2 years ago

1.7.2

2 years ago

1.7.1

2 years ago

1.7.0

2 years ago

1.6.9

2 years ago

1.6.8

2 years ago

1.6.7

2 years ago

1.6.6

2 years ago

1.6.5

2 years ago

1.6.4

2 years ago

1.6.2

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.9

2 years ago

1.5.8

2 years ago

1.5.7

2 years ago

1.5.6

2 years ago

1.5.5

2 years ago

1.5.4

2 years ago

1.5.3

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.9

2 years ago

1.4.8

2 years ago

1.4.7

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.9

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.0

2 years ago

1.2.9

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.0

2 years ago

1.1.9

2 years ago

1.1.7

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

2.0.0

2 years ago