From 88b74f25d221cfd05878341bdce5b151de37be59 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期三, 20 七月 2022 11:30:47 +0800
Subject: [PATCH] 45
---
src/samples/sockteStomp.ts | 62 ++++++++++++++++--------------
1 files changed, 33 insertions(+), 29 deletions(-)
diff --git a/src/samples/sockteStomp.ts b/src/samples/sockteStomp.ts
index bb325ce..53fe14b 100644
--- a/src/samples/sockteStomp.ts
+++ b/src/samples/sockteStomp.ts
@@ -1,7 +1,7 @@
import Stomp from 'stompjs'
import os from 'os'
import { ipcRenderer } from 'electron'
-var stompClient: Stomp.Client | null=null
+let stompClient: Stomp.Client | null=null
import { userInfoStore } from '@/stores/userInfo'
import { patientInfoStore } from '@/stores/patient'
@@ -10,6 +10,7 @@
const sound = require("sound-play");
+let sockteNum=0
interface device{
@@ -106,21 +107,21 @@
}
const writePatient=(resultInfo:any)=>{
+ // 给一个时间变化
+ const da=new Date().toTimeString()
+ console.log(da)
const info={
id:resultInfo.patientInfo===null?0:resultInfo.patientInfo.id,
code:resultInfo.patientInfo===null?'':resultInfo.patientInfo.code,
- name:resultInfo.patientInfo===null?0:resultInfo.patientInfo.patientName,
- patientAvatarIcon:resultInfo.patientInfo===null?0:resultInfo.patientInfo.patientAvatarIcon,
+ name:resultInfo.patientInfo===null?'':resultInfo.patientInfo.patientName,
+ patientAvatarIcon:resultInfo.patientInfo===null?'':resultInfo.patientInfo.patientAvatarIcon,
deviceCode:resultInfo.deviceCode===null?"":resultInfo.deviceCode,
hemoCode:resultInfo.hemoCode===null?"":resultInfo.hemoCode,
- pureWeight:resultInfo.pureWeight===null?"":resultInfo.pureWeight
+ pureWeight:resultInfo.pureWeight===null?"":resultInfo.pureWeight,
+ datetime:da
}
// 写入vuex里
patientInfoStore().setpatientInfo(info)
- console.log('播放声音')
- // sound.play("https://dhcdn.leon056.com/hemo/autoselfsign/step2.mp3")
-
-
}
// 订阅结果事件返回函数
@@ -165,6 +166,7 @@
isErrConnectBackCalled = true
const pcName= sockteStore().pcName
console.log("链接成功",stompClient,pcName)
+ sockteStore().setsockteIsLink(true)
// 订阅患者信息服务
if(stompClient!==null){
// 订阅患者信息事件
@@ -175,43 +177,45 @@
stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},JSON.stringify({"clientCode":clientCode,"machineName":pcName}))
}
-
// 更新sockte链接状态
sockteStore().setsockteIsLink(true)
console.log(sockteStore().isLink)
- console.log(devices)
- if(devices!==undefined&&devices!=null &&devices.length>0){
- devices.forEach(de=>{
- if(stompClient!==null){
- stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/result`,callback)
- stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/keepalive`,callbackState)
- stompClient.send(`/app/device/request/${clientCode}/${de.deviceName}`, {}, JSON.stringify({"deviceNumber":de.deviceName}));
+ if(devices!==undefined &&devices!=null&&devices.length>0){
+ // 更新sockte链接状态
+ sockteStore().setsockteIsLink(true)
+ console.log(sockteStore().isLink)
+ console.log(devices)
+ if(devices!==undefined&&devices!=null &&devices!=null &&devices.length>0){
+ devices.forEach(de=>{
+ if(stompClient!==null){
+ stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/result`,callback)
+ stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/keepalive`,callbackState)
+ stompClient.send(`/app/device/request/${clientCode}/${de.deviceName}`, {}, JSON.stringify({"deviceNumber":de.deviceName}));
- }
- })
+ }
+ })
+ }
}
-}
-
-const disconnectCallBack=function(){
- console.log("disconnect");
}
const error_callback=function(error:any){
console.log('链接错误',error);
+ sockteStore().setsockteIsLink(false)
setTimeout(()=>{
- console.log('10秒之后重连')
- console.log(devices,'设备列表')
+ console.log('60秒之后重连',sockteNum++)
const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast')
- stompClient?.disconnect(disconnectCallBack,{})
- stompClient = Stomp.over(socket)
- stompClient.connect({}, connectCallback,error_callback)
- },10000)
+ stompClient?.disconnect(()=>{
+ console.log("disconnected!");
+ stompClient = Stomp.over(socket)
+ stompClient.connect({}, connectCallback,error_callback)
+ },{})
+ },60000)
}
// 创建客户端链接
const creatorClient=(devices2:any,clientCode2:any)=>{
devices=devices2
clientCode=clientCode2
- console.log(devices,'设备列表')
+ console.log(devices,'设备列表','chong')
const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast')
stompClient = Stomp.over(socket)
stompClient.connect({}, connectCallback,error_callback)
--
Gitblit v1.8.0