Compare commits

...
2 Commits
Author SHA1 Message Date
Seven 8f450fe95b 添加写入消息接口 2026-09-16 22:44:20 +08:00
Seven 92c5d05226 更改数据库数据格式 2026-09-16 22:27:09 +08:00
2 changed files with 44 additions and 18 deletions
+2 -5
View File
@@ -34,8 +34,7 @@ router.post("/login", (req, res) => {
if (results.length > 0) { if (results.length > 0) {
// 生成 JWT token // 生成 JWT token
const token = jwt.createToken({ const token = jwt.createToken({
userId: results[0].user_id, username: results[0].username
username: results[0].username,
}); });
res.json({ res.json({
code: 200, code: 200,
@@ -77,9 +76,7 @@ router.post("/register", (req, res) => {
res.json({ res.json({
code: 200, code: 200,
message: "注册成功", message: "注册成功",
data: { data: null
id: result.insertId,
},
}); });
}); });
}); });
+42 -13
View File
@@ -12,7 +12,6 @@ router.get(
res.json({ res.json({
code: 200, code: 200,
data: { data: {
userId: req.user.userId,
username: req.user.username username: req.user.username
} }
}); });
@@ -27,14 +26,13 @@ router.get(
(req, res) => { (req, res) => {
const sql = ` const sql = `
SELECT SELECT
u.user_id,
u.username u.username
FROM chat_mysql.contacts c FROM chat_mysql.contacts c
JOIN chat_mysql.users u JOIN chat_mysql.users u
ON c.contact_id = u.user_id ON c.contact_name = u.username
WHERE c.user_id = ?; WHERE c.user_name = ?;
`; `;
db.query(sql, [req.user.userId], (error, results) => { db.query(sql, [req.user.username], (error, results) => {
if (error) { if (error) {
console.error("数据库查询失败:", error); console.error("数据库查询失败:", error);
@@ -49,7 +47,6 @@ router.get(
message: "查询成功", message: "查询成功",
data: { data: {
contacts: results.map(contact => ({ contacts: results.map(contact => ({
contactId: contact.user_id,
contactName: contact.username contactName: contact.username
})) }))
}, },
@@ -68,23 +65,24 @@ router.get(
} }
); );
// 获取所有聊天消息
router.get( router.get(
"/messagesInfo", "/messagesInfo",
authMiddleware, authMiddleware,
(req, res) => { (req, res) => {
const currentUserId = req.user.userId; const currentUserName = req.user.username;
const sql = ` const sql = `
SELECT SELECT
id, id,
sender_id, sender_name,
receiver_id, receiver_name,
content, content,
created_at created_at
FROM chat_mysql.messages FROM chat_mysql.messages
WHERE sender_id = ? OR receiver_id = ? WHERE sender_name = ? OR receiver_name = ?
ORDER BY created_at ASC; ORDER BY created_at ASC;
`; `;
db.query(sql, [currentUserId, currentUserId], (error, results) => { db.query(sql, [currentUserName, currentUserName], (error, results) => {
if (error) { if (error) {
console.error("数据库查询失败:", error); console.error("数据库查询失败:", error);
@@ -100,8 +98,8 @@ router.get(
data: { data: {
messages: results.map(message => ({ messages: results.map(message => ({
messageId: message.id, messageId: message.id,
senderId: message.sender_id, senderName: message.sender_name,
receiverId: message.receiver_id, receiverName: message.receiver_name,
content: message.content, content: message.content,
createdAt: message.created_at createdAt: message.created_at
})) }))
@@ -121,5 +119,36 @@ router.get(
} }
); );
// 写入聊天消息
router.post("/sendMessage", (req, res) => {
const message = req.body;
const sql = `
INSERT INTO messages
(sender_name, receiver_name, content)
VALUES (?, ?, ?)
`;
db.query(sql, [
message.senderName,
message.receiverName,
message.content
], (error, result) => {
if (error) {
console.error(error);
return res.status(500).json({
code: 500,
message: "发送消息失败",
});
}
res.json({
code: 200,
message: "发送消息成功",
data: null
});
});
});
module.exports = router; module.exports = router;