diff --git a/server/server.js b/server/server.js index a6dc7a1..7b399f8 100644 --- a/server/server.js +++ b/server/server.js @@ -100,7 +100,7 @@ app.get('/api/rooms', auth, (req, res) => { if (isAdmin) { rooms = db.prepare('SELECT * FROM rooms').all(); } else { - rooms = db.prepare('SELECT * FROM rooms WHERE white_list = ? OR white_list LIKE ?').all('', `%,${username},%`); + rooms = db.prepare("SELECT * FROM rooms WHERE white_list = '' OR (',' || white_list || ',' LIKE ?)").all(`%,${username},%`); } const result = rooms.map(room => { const lastMsg = db.prepare('SELECT text, timestamp FROM messages WHERE room_id = ? ORDER BY timestamp DESC LIMIT 1').get(room.id); @@ -208,7 +208,7 @@ app.get('/api/summary', auth, (req, res) => { rooms = db.prepare('SELECT id, name FROM rooms').all(); } else { // 使用与群聊列表完全相同的白名单过滤方式 - rooms = db.prepare('SELECT id, name FROM rooms WHERE white_list = ? OR white_list LIKE ?').all('', `%,${username},%`); + rooms = db.prepare("SELECT id, name FROM rooms WHERE white_list = '' OR (',' || white_list || ',' LIKE ?)").all(`%,${username},%`) } const summary = rooms.map(room => { const stats = db.prepare(`SELECT COUNT(*) as count, SUM(amount) as total FROM purchases WHERE room_id = ?`).get(room.id); @@ -236,7 +236,7 @@ app.get('/api/rooms/:roomId/purchases/export', auth, (req, res) => { // WebSocket const clients = new Map(); wss.on('connection', (ws, req) => { - console.log('✅ WebSocket 客户端已连接'); + //console.log('✅ WebSocket 客户端已连接'); const url = new URL(req.url, 'http://localhost'); const token = url.searchParams.get('token'); if (!token) return ws.close();