add /ws/2/notify/ socket
This commit is contained in:
parent
97503e91e0
commit
101fa7b69d
10 changed files with 138 additions and 81 deletions
|
@ -24,7 +24,9 @@ export default {
|
|||
components: {Toast, Navbar, AddItemModal},
|
||||
computed: mapState(['loadedItems', 'layout', 'toasts']),
|
||||
data: () => ({
|
||||
addModalOpen: false
|
||||
addModalOpen: false,
|
||||
notify_socket: null,
|
||||
socket_toast: null,
|
||||
}),
|
||||
methods: {
|
||||
...mapMutations(['removeToast', 'createToast']),
|
||||
|
@ -33,35 +35,68 @@ export default {
|
|||
},
|
||||
closeAddModal() {
|
||||
this.addModalOpen = false;
|
||||
}
|
||||
},
|
||||
tryConnect() {
|
||||
if (!this.notify_socket || this.notify_socket.readyState !== WebSocket.OPEN) {
|
||||
if (this.socket_toast) {
|
||||
this.removeToast(this.socket_toast.key);
|
||||
this.socket_toast = null;
|
||||
}
|
||||
this.socket_toast = this.createToast({
|
||||
title: "Connecting...",
|
||||
message: "Connecting to websocket...",
|
||||
color: "warning"
|
||||
});
|
||||
this.notify_socket = new WebSocket('wss://' + window.location.host + '/ws/2/notify/');
|
||||
this.notify_socket.onopen = (e) => {
|
||||
if (this.socket_toast) {
|
||||
this.removeToast(this.socket_toast.key);
|
||||
this.socket_toast = null;
|
||||
}
|
||||
this.socket_toast = this.createToast({
|
||||
title: "Connection established",
|
||||
message: JSON.stringify(e),
|
||||
color: "success"
|
||||
});
|
||||
};
|
||||
this.notify_socket.onclose = (e) => {
|
||||
if (this.socket_toast) {
|
||||
this.removeToast(this.socket_toast.key);
|
||||
this.socket_toast = null;
|
||||
}
|
||||
this.socket_toast = this.createToast({
|
||||
title: "Connection closed",
|
||||
message: JSON.stringify(e),
|
||||
color: "danger"
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.tryConnect();
|
||||
}, 1000);
|
||||
};
|
||||
this.notify_socket.onerror = (e) => {
|
||||
if (this.socket_toast) {
|
||||
this.removeToast(this.socket_toast.key);
|
||||
this.socket_toast = null;
|
||||
}
|
||||
this.socket_toast = this.createToast({
|
||||
title: "Connection error",
|
||||
message: JSON.stringify(e),
|
||||
color: "danger"
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.tryConnect();
|
||||
}, 1000);
|
||||
};
|
||||
this.notify_socket.onmessage = (e) => {
|
||||
let data = JSON.parse(e.data);
|
||||
console.log(data);
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
created: function () {
|
||||
this.notify_socket = new WebSocket('wss://' + window.location.host + '/ws/notify/');
|
||||
this.notify_socket.onmessage = (e) => {
|
||||
let data = JSON.parse(e.data);
|
||||
console.log(data, e.data);
|
||||
};
|
||||
this.notify_socket.onopen = (e) => {
|
||||
this.createToast({
|
||||
title: "Connection established",
|
||||
message: JSON.stringify(e),
|
||||
color: "success"
|
||||
});
|
||||
};
|
||||
this.notify_socket.onclose = (e) => {
|
||||
this.createToast({
|
||||
title: "Connection closed",
|
||||
message: JSON.stringify(e),
|
||||
color: "danger"
|
||||
});
|
||||
};
|
||||
this.notify_socket.onerror = (e) => {
|
||||
this.createToast({
|
||||
title: "Connection error",
|
||||
message: JSON.stringify(e),
|
||||
color: "danger"
|
||||
});
|
||||
};
|
||||
this.tryConnect();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue