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;