From 81a9993facc9f937a85f4dc0e1bc9a765a6f04dc Mon Sep 17 00:00:00 2001 From: kicer Date: Tue, 28 Jul 2026 19:43:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E8=BF=91=E6=B4=BB=E8=B7=83=E7=9A=84?= =?UTF-8?q?=E7=BE=A4=E8=81=8A=E6=8E=92=E6=9C=80=E4=B8=8A=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E6=B6=88=E6=81=AF=E7=9A=84=E6=8E=92=E6=9C=80=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/routes/rooms.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/routes/rooms.js b/server/routes/rooms.js index fafb011..04ba0c2 100644 --- a/server/routes/rooms.js +++ b/server/routes/rooms.js @@ -21,6 +21,13 @@ router.get('/', authMiddleware, (req, res) => { const lastMsg = db.prepare('SELECT text, timestamp FROM messages WHERE room_id = ? ORDER BY id DESC LIMIT 1').get(room.id); return { ...room, last_message: lastMsg ? lastMsg.text : '', last_time: lastMsg ? lastMsg.timestamp : '' }; }); + // 按最后消息时间排序,最近的在前,无消息的排最后 + result.sort((a, b) => { + if (!a.last_time && !b.last_time) return 0; + if (!a.last_time) return 1; + if (!b.last_time) return -1; + return b.last_time.localeCompare(a.last_time); + }); res.json(result); });