From c4657055f09e529b4e71814c34d62615d97d7f08 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期五, 15 七月 2022 21:59:20 +0800
Subject: [PATCH] up

---
 src/samples/sockteStomp.ts |   61 +++++++++++++++++-------------
 1 files changed, 34 insertions(+), 27 deletions(-)

diff --git a/src/samples/sockteStomp.ts b/src/samples/sockteStomp.ts
index 0007296..98ce952 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{
@@ -96,15 +97,7 @@
                     sockteStore().setweightState(resultInfo.status)
                     break
                 case "血压计":
-                    sockteStore().setxyjSockte(
-                        {
-                            deviceName:resultInfo.deviceName,
-                            type:"血压计",
-                            result:resultInfo.result,
-                            resultTime:resultInfo.resultTime,
-                            state:0
-                        }
-                    )
+                    sockteStore().setXtjState(resultInfo.status)
                     break
                 default:
                     console.log('有配置类型没有匹配')
@@ -168,48 +161,61 @@
         
     }
 }
+var isErrConnectBackCalled = false;
 const connectCallback=function(){
-    const pcName= os.hostname()
+    isErrConnectBackCalled = true
+    const pcName= sockteStore().pcName
+    console.log("链接成功",stompClient,pcName)
     // 订阅患者信息服务
     if(stompClient!==null){
+        // 订阅患者信息事件
         stompClient.subscribe(`/queue/patient/info/${pcName}`,PatientCallback)
+        // 订阅配置文件事件
         stompClient.subscribe(`/queue/workstation/config/set/${clientCode}/${pcName}`,configCallback)
+        // 发送配置文件到服务端
         stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},JSON.stringify({"clientCode":clientCode,"machineName":pcName}))
         
     }
-    console.log("链接成功",stompClient,pcName)
     // 更新sockte链接状态
     sockteStore().setsockteIsLink(true)
     console.log(sockteStore().isLink)
-    console.log(devices)
     if(devices!==undefined&&devices.length>0){
-        devices.forEach(de=>{
-            if(stompClient!==null){
-                stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/result`,callback)
-                // /queue/{clientCode}/{deviceName}/keepalive
-                // stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/keepalive`,callbackState)
-                stompClient.send(`/app/device/request/${clientCode}/${de.deviceName}`, {}, JSON.stringify({"deviceNumber":de.deviceName}));
+        // 更新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}));
 
-            } 
-        })
+                } 
+            })
+        }
     }
 }
+
+const disconnectCallBack=function(){
+    console.log("disconnect");
+}
+
 const error_callback=function(error:any){
     console.log('链接错误',error);
     setTimeout(()=>{
-        console.log('10秒之后重连')
-        console.log(devices,'设备列表')
+        console.log('10秒之后重连',sockteNum++)
         const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast')
+        stompClient?.disconnect(disconnectCallBack,{})
         stompClient = Stomp.over(socket)
         stompClient.connect({}, connectCallback,error_callback)
-
-    },10000)
+    },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)
@@ -220,12 +226,13 @@
  * @param codeStr 
  */
 const sendPationCode=(codeStr:string)=>{
+    const pcName= sockteStore().pcName
     const mode={
         clientCode:clientCode,
         queryCode:codeStr
     }
     if(stompClient!==null){
-        stompClient.send(`/app/patient/info/get/${os.hostname()}`,{},JSON.stringify(mode))
+        stompClient.send(`/app/patient/info/get/${pcName}`,{},JSON.stringify(mode))
     }
 }
 /**

--
Gitblit v1.8.0