|
|
@ -10,6 +10,7 @@ |
|
|
|
|
|
|
|
<script> |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import audioSrc from '@/assets/audio/y913.mp3'; |
|
|
|
export default { |
|
|
|
name: "Websocket", |
|
|
|
data() { |
|
|
@ -30,13 +31,13 @@ export default { |
|
|
|
// 建立 websocket 连接 |
|
|
|
this.socket.initialize({ |
|
|
|
// url: 'ws://' + location.hostname + ':' + port + path, |
|
|
|
url: 'wss://' + location.hostname + ':' + window.location.port + '/ws' || 80 + '/ws', |
|
|
|
//url: 'wss://' + locatoin.hostname + ':' + window.location.port + '/ws' || 80 + '/ws', |
|
|
|
// url: "ws://10.168.66.196:7789" + path, |
|
|
|
// url: 'ws://10.168.77.128:7789/ws', |
|
|
|
// url: "ws://10.7.179.15" + ":" + port + path, |
|
|
|
// url: "ws://10.168.64.171" + ":" + port + path, |
|
|
|
// url: 'ws://10.168.78.127'+ ':' + port + path, |
|
|
|
|
|
|
|
url: 'ws://127.0.0.1'+ ':' + 7789 + '/ws', |
|
|
|
password: password, |
|
|
|
tokenSN: this.token, |
|
|
|
heartRate: interval, |
|
|
@ -104,13 +105,21 @@ export default { |
|
|
|
}); |
|
|
|
break; |
|
|
|
case "0": |
|
|
|
case "1": |
|
|
|
case "2": |
|
|
|
case "3": |
|
|
|
case "2": |
|
|
|
case "trafficFlowDataEarlyWarning": |
|
|
|
this.$emit("newEvent", params); |
|
|
|
break; |
|
|
|
|
|
|
|
case "1": |
|
|
|
if(content.event.warningSource ==5||content.event.warningType==10||content.event.warningType==11){ |
|
|
|
this.triggerAlert() |
|
|
|
setTimeout(() => { |
|
|
|
this.$emit("newEvent", params); |
|
|
|
}, 1000); // 1000 毫秒 = 1 秒 |
|
|
|
}else{ |
|
|
|
this.$emit("newEvent", params); |
|
|
|
} |
|
|
|
break; |
|
|
|
case "deviceState": |
|
|
|
this.EventBus.$emit("deviceState", contentList); |
|
|
|
break; |
|
|
@ -128,12 +137,16 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
created() { }, |
|
|
|
methods: {}, |
|
|
|
methods: { |
|
|
|
triggerAlert(){ |
|
|
|
const audio = new Audio(audioSrc); |
|
|
|
audio.play(); |
|
|
|
}}, |
|
|
|
mounted() { |
|
|
|
let _this = this; |
|
|
|
if (process.env.NODE_ENV == "development") { |
|
|
|
//测试websocket用的 |
|
|
|
return; |
|
|
|
// return; |
|
|
|
let deviceState = "0"; |
|
|
|
document.onkeydown = function (e) { |
|
|
|
deviceState == "0" ? deviceState = "1" : deviceState = "0"; |
|
|
@ -143,9 +156,11 @@ export default { |
|
|
|
// 消息数字 |
|
|
|
// _this.$root.$emit('update-warning', Math.floor(Math.random() * 20)); |
|
|
|
// 事件弹窗 |
|
|
|
// let params = { |
|
|
|
// "subEvent":"2","content":{"event":{"id":"ad84780896584c4ab67d034c0ab9b853","stakeMark":"K078+300","direction":"1","warningState":1,"warningTime":"2024-08-20 10:43:23","warningSource":5,"warningType":6,"warningSubclass":"6-3","warningTitle":"菏泽方向 发生障碍物(障碍物)事件","otherConfig":"","lane":"0","number":0,"longitude":"116.699758","latitude":"36.435038","duration":0,"endTime":"2024-08-20 12:00:43","createTime":"2024-08-20 11:00:43","remark":"2024年08月20日 10:43:21 K078+300 菏泽方向 发生障碍物(障碍物)事件","params":{}},"content":"菏泽方向 K078+300 发生障碍物事件"} |
|
|
|
// }; |
|
|
|
const audio = new Audio(audioSrc); |
|
|
|
audio.play(); |
|
|
|
let params = { |
|
|
|
"subEvent":"2","content":{"event":{"id":"ad84780896584c4ab67d034c0ab9b853","stakeMark":"K078+300","direction":"1","warningState":1,"warningTime":"2024-08-20 10:43:23","warningSource":5,"warningType":6,"warningSubclass":"6-3","warningTitle":"菏泽方向 发生障碍物(障碍物)事件","otherConfig":"","lane":"0","number":0,"longitude":"116.699758","latitude":"36.435038","duration":0,"endTime":"2024-08-20 12:00:43","createTime":"2024-08-20 11:00:43","remark":"2024年08月20日 10:43:21 K078+300 菏泽方向 发生障碍物(障碍物)事件","params":{}},"content":"菏泽方向 K078+300 发生障碍物事件"} |
|
|
|
}; |
|
|
|
// 交通流预警 |
|
|
|
// let params = { |
|
|
|
// "subEvent": "trafficFlowDataEarlyWarning", |
|
|
@ -166,32 +181,31 @@ export default { |
|
|
|
// } |
|
|
|
|
|
|
|
//设备故障 |
|
|
|
let params = { |
|
|
|
"subEvent": "deviceOfflineRecord", |
|
|
|
"content": { |
|
|
|
"deviceOfflineRecord": { |
|
|
|
"id": 86, |
|
|
|
"deviceId": 2171, |
|
|
|
"iotDeviceId": "10.0.36.142-1883", |
|
|
|
"deviceName": "远端机(K112+037)", |
|
|
|
"deviceType": "16", |
|
|
|
"stakeMark": "K112+037", |
|
|
|
"direction": "1", |
|
|
|
"deviceIp": "10.0.36.142", |
|
|
|
"facilitiesType": "1", |
|
|
|
"longitude": "116.475787", |
|
|
|
"latitude": "36.221393", |
|
|
|
"status": "0", |
|
|
|
"createTime": "2024-09-21 11:05:12", |
|
|
|
"params": {} |
|
|
|
}, |
|
|
|
"content": "K112+037菏泽方向远端机(K112+037)发生故障" |
|
|
|
// let params = { |
|
|
|
// "subEvent": "deviceOfflineRecord", |
|
|
|
// "content": { |
|
|
|
// "deviceOfflineRecord": { |
|
|
|
// "id": 86, |
|
|
|
// "deviceId": 2171, |
|
|
|
// "iotDeviceId": "10.0.36.142-1883", |
|
|
|
// "deviceName": "远端机(K112+037)", |
|
|
|
// "deviceType": "16", |
|
|
|
// "stakeMark": "K112+037", |
|
|
|
// "direction": "1", |
|
|
|
// "deviceIp": "10.0.36.142", |
|
|
|
// "facilitiesType": "1", |
|
|
|
// "longitude": "116.475787", |
|
|
|
// "latitude": "36.221393", |
|
|
|
// "status": "0", |
|
|
|
// "createTime": "2024-09-21 11:05:12", |
|
|
|
// "params": {} |
|
|
|
// }, |
|
|
|
// "content": "K112+037菏泽方向远端机(K112+037)发生故障" |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
// } |
|
|
|
// } |
|
|
|
_this.$emit("newEvent", params); |
|
|
|
|
|
|
|
// 测试事件变更 |
|
|
|
// let params = { |
|
|
|
// "subEvent": "deviceState", |
|
|
@ -210,5 +224,6 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
</script> |
|
|
|