const express = require("express"); const router = express.Router(); const db = require("../db/mysql"); const authMiddleware = require("../middleware/authMiddleware"); // 获取用户信息 router.get( "/userInfo", authMiddleware, (req, res) => { res.json({ code: 200, data: { username: req.user.username } }); } ); // 获取联系人列表 router.get( "/contactsInfo", authMiddleware, (req, res) => { const sql = ` SELECT u.username FROM chat_mysql.contacts c JOIN chat_mysql.users u ON c.contact_name = u.username WHERE c.user_name = ?; `; db.query(sql, [req.user.username], (error, results) => { if (error) { console.error("数据库查询失败:", error); return res.status(500).json({ code: 500, message: "查询失败", }); } if (results.length > 0) { res.json({ code: 200, message: "查询成功", data: { contacts: results.map(contact => ({ contactName: contact.username })) }, }); } else { res.json({ code: 401, message: "未找到联系人", data: { contacts: [] } }); } }); } ); // 获取所有聊天消息 router.get( "/messagesInfo", authMiddleware, (req, res) => { const currentUserName = req.user.username; const sql = ` SELECT id, sender_name, receiver_name, content, created_at FROM chat_mysql.messages WHERE sender_name = ? OR receiver_name = ? ORDER BY created_at ASC; `; db.query(sql, [currentUserName, currentUserName], (error, results) => { if (error) { console.error("数据库查询失败:", error); return res.status(500).json({ code: 500, message: "查询失败", }); } if (results.length > 0) { res.json({ code: 200, message: "查询成功", data: { messages: results.map(message => ({ messageId: message.id, senderName: message.sender_name, receiverName: message.receiver_name, content: message.content, createdAt: message.created_at })) }, }); } else { res.json({ code: 401, message: "未找到联系人消息", data: { messages: [] } }); } }); } ); // 写入聊天消息 router.post("/sendMessage", (req, res) => { const sql = ` INSERT INTO users (username, password) VALUES (?, ?) `; db.query(sql, [username, password], (error, result) => { if (error) { console.error(error); return res.status(500).json({ code: 500, message: "注册失败", }); } res.json({ code: 200, message: "注册成功", data: { id: result.insertId, }, }); }); }); module.exports = router;