安琪酵母(西藏)益生菌信息采集中心智能实验室
longyvfengyun
2023-08-27 5e77dd17b896184787fedb60e9acbb56506a7ae4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import createWs from "@/assets/js/tools/websocket/createWs";
import {onMounted, reactive} from "vue";
import door from "@/assets/js/const/door";
import getLabelByKey from "@/assets/js/tools/getLabelByKey";
const lockStatusList = door.lockStatus;
const doorInfoModule = ()=>{
  const {
    SOCKET
  } = createWs("carCameraSocket");
 
  const doorInfos = reactive([
    {
      ip: "192.168.0.18",
      passWord: "a1234567.",
      port: 8000,
      userName: "admin",
      status: 0,
      name: "智能实验室",
      statusText: "未知"
    },
    {
      ip: "192.168.0.19",
      passWord: "a1234567.",
      port: 8000,
      userName: "admin",
      status: 0,
      name: "PCR实验室",
      statusText: "未知"
    },
    {
      ip: "192.168.0.44",
      passWord: "a1234567.",
      port: 8000,
      userName: "admin",
      status: 0,
      name: "西藏安琪",
      statusText: "未知"
    },
  ]);
 
  const handleOpen = ()=>{
    SOCKET.value.send(JSON.stringify(doorInfos));
  }
 
  const handleMessage = (res)=>{
    let rs = JSON.parse(res.data);
    let data = rs.data;
    doorInfos.map(item=>{
      let doorInfo = data[item.ip];
      item.status = doorInfo.data2.lockStatus;
      //item.status = 2;
      item.statusText = getLabelByKey(doorInfo.data2.lockStatus, lockStatusList, "未知");
    });
  }
 
  onMounted(()=>{
    SOCKET.value.addEventListener("open", handleOpen, false);
    SOCKET.value.addEventListener("message", handleMessage, false);
  });
 
  return {doorInfos};
}
 
export default doorInfoModule;