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