redesigned websocket messages
sends messages in JSON now posts are more responsive
This commit is contained in:
parent
83655ad6d1
commit
61eb7a6ee2
20
js/posts.js
20
js/posts.js
@ -8,14 +8,24 @@ const wss_URI = wss_server + ":" + wss_port
|
|||||||
var reply_id = 0
|
var reply_id = 0
|
||||||
|
|
||||||
let socket = new WebSocket(wss_URI);
|
let socket = new WebSocket(wss_URI);
|
||||||
socket.addEventListener("message", function (event) {
|
socket.addEventListener("message", async function (event) {
|
||||||
if(wss_server == event.origin) {
|
if(wss_server == event.origin) {
|
||||||
let data = event.data;
|
let data = event.data;
|
||||||
let ds = data.split(" ")
|
let ds = JSON.parse(data)
|
||||||
let message = ds[0]
|
let message = ds.message
|
||||||
|
let post = ds.data
|
||||||
|
let username = post.post_user_name
|
||||||
if(message == "new_post") {
|
if(message == "new_post") {
|
||||||
main()
|
await createPost(decodeURIComponent(item.post_user_name),decodeURIComponent(item.post_text),item.post_time,item.post_special_text,highest_id+1,item.post_from_bot,item.post_reply_id)
|
||||||
if(user["username"]!=ds[1])mainNoti(ds[1])
|
if(user["username"]!=username)mainNoti(username)
|
||||||
|
|
||||||
|
let highest_known_posts = await (await fetch("/api/getPostsLowerThan?id="+(highest_id+28))).json()
|
||||||
|
for (let i = 0; i < highest_known_posts.length; i++) {
|
||||||
|
if(document.getElementById(highest_known_posts[i].post_id) == undefined) {
|
||||||
|
main()
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
17
server.js
17
server.js
@ -667,8 +667,23 @@ router.post("/api/post", async function(req,res) {
|
|||||||
con.query(sql, values, function (err, result) {
|
con.query(sql, values, function (err, result) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
if(req.body.receiver == "everyone") {
|
if(req.body.receiver == "everyone") {
|
||||||
|
let post_obj = {
|
||||||
|
post_user_name: encodeURIComponent(res.locals.username),
|
||||||
|
post_text: req.body.message,
|
||||||
|
post_time: Date.now(),
|
||||||
|
post_special_text: "",
|
||||||
|
post_receiver_name: "everyone",
|
||||||
|
post_from_bot: res.locals.isbot,
|
||||||
|
post_reply_id: reply_id
|
||||||
|
}
|
||||||
|
|
||||||
|
let message = {
|
||||||
|
message: "new_post",
|
||||||
|
data: post_obj
|
||||||
|
}
|
||||||
|
let messagestr = JSON.stringify(message)
|
||||||
wss.clients.forEach(function(ws) {
|
wss.clients.forEach(function(ws) {
|
||||||
ws.send(`new_post ${res.locals.username} ${req.body.message}`)
|
ws.send(messagestr)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
res.json({"success":"successfully posted message"})
|
res.json({"success":"successfully posted message"})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user