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
|
||||
|
||||
let socket = new WebSocket(wss_URI);
|
||||
socket.addEventListener("message", function (event) {
|
||||
socket.addEventListener("message", async function (event) {
|
||||
if(wss_server == event.origin) {
|
||||
let data = event.data;
|
||||
let ds = data.split(" ")
|
||||
let message = ds[0]
|
||||
let ds = JSON.parse(data)
|
||||
let message = ds.message
|
||||
let post = ds.data
|
||||
let username = post.post_user_name
|
||||
if(message == "new_post") {
|
||||
main()
|
||||
if(user["username"]!=ds[1])mainNoti(ds[1])
|
||||
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"]!=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) {
|
||||
if (err) throw err;
|
||||
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) {
|
||||
ws.send(`new_post ${res.locals.username} ${req.body.message}`)
|
||||
ws.send(messagestr)
|
||||
});
|
||||
}
|
||||
res.json({"success":"successfully posted message"})
|
||||
|
Loading…
x
Reference in New Issue
Block a user