chenyincheng
2023-01-07 2510046e4e09c929cdb0d5adcecde62fd3a20cf4
src/samples/sockteStomp.ts
@@ -3,7 +3,7 @@
import { ipcRenderer } from 'electron'
let stompClient: Stomp.Client | null=null
import { userInfoStore } from '@/stores/userInfo'
import { confingInfoStore } from '@/stores/StoresConfing'
import { patientInfoStore } from '@/stores/patient'
import {sockteStore} from '@/stores/sockteInfo'
import { result } from 'lodash'
@@ -17,7 +17,7 @@
    deviceName:string
    deviceType:string
}
let config={}
let devices:Array<device>=[]
let clientCode:string=''
/**
@@ -151,7 +151,6 @@
}
const PatientCallback=function(message:any){
    if (message.body) {
        console.log('00000000000000',message.body)
        const data=JSON.parse(message.body)
        console.log(data,'患者信息读取')
        writePatient(data)
@@ -177,32 +176,20 @@
    if(stompClient!==null){
        // 订阅患者信息事件
        stompClient.subscribe(`/queue/patient/info/${pcName}`,PatientCallback)
        // 订阅配置文件事件
        stompClient.subscribe(`/queue/workstation/config/set/${clientCode}/${pcName}`,configCallback)
        // 订阅配置文件事件已经弃用  现在不用更新本地配置文件了
        // stompClient.subscribe(`/queue/workstation/config/set/${clientCode}/${pcName}`,configCallback)
        devices.forEach(el=>{
            if(stompClient!==null)
            stompClient.subscribe(`/queue/${clientCode}/${el.deviceName}/result`,callback)
        })
        // 发送配置文件到服务端
        stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},JSON.stringify({"clientCode":clientCode,"machineName":pcName}))
        stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},
        JSON.stringify(config))
        
    }
    // 更新sockte链接状态
    sockteStore().setsockteIsLink(true)
    console.log(sockteStore().isLink)
    // sockte订阅服务关闭完全有post 来代替
    // 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){
    //                 console.log()
    //                 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 error_callback=function(error:any){
@@ -219,9 +206,10 @@
    },60000)
}
// 创建客户端链接
const creatorClient=(devices2:any,clientCode2:any)=>{
    devices=devices2
    clientCode=clientCode2
const creatorClient=(configObj:any)=>{
    config=configObj
    devices=configObj.deviceList
    clientCode=configObj.clientCode
    console.log(devices,'设备列表','chong')
    const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast')
    stompClient = Stomp.over(socket)