TestClients/script.js

59 lines
1.5 KiB
JavaScript

window.onload = () => {
const msg = document.getElementById("msg")
const receiver = document.getElementById("receiver")
document.getElementById("btn-send").onclick = function() {
const chatMsg = {cmd: 2, rec: receiver.value, body: {msg: {"id": "1293", "body": msg.value}}}
ws.send(JSON.stringify(chatMsg))
console.log("Send:", chatMsg, msg.value)
}
document.getElementById("btn-clear").onclick = () => {
msg.value = ""
}
document.getElementById("copy-userid").onclick = () => {
navigator.clipboard.writeText(document.getElementById("userid").innerHTML)
console.log("copied to clipboard")
}
document.getElementById("btn-clear-rec").onclick = () => {
document.getElementById("receiver").value = ""
}
connectWS()
}
let ws = null
function connectWS() {
ws = new WebSocket("ws://localhost:3000/")
ws.onopen = () => {
console.info("ws open", document.getElementById("userid"))
}
ws.onmessage = (msg) => {
console.log("rec msg:", msg.data)
let data = JSON.parse(msg.data)
if (data["Cmd"] == 99999) {
document.getElementById("userid").innerHTML = data["Body"]
}
}
ws.onclose = (e) => {
console.log("ws closed", e.reason)
document.getElementById("userid").innerHTML = ""
setTimeout(() => connectWS(), 1000)
}
ws.onerror = (err) => {
console.warn("err:", err)
}
}