Compare commits

...
3 Commits
Author SHA1 Message Date
Seven a2c48b08c6 优化获取联系人信息接口 2026-09-14 21:32:20 +08:00
Seven 53c6d3917d 增加获取联系人信息接口 2026-09-13 15:32:44 +08:00
Seven a508244540 设置登录过期时间 2026-09-12 15:50:58 +08:00
2 changed files with 104 additions and 2 deletions
+103 -1
View File
@@ -1,11 +1,12 @@
const express = require("express");
const router = express.Router();
const db = require("../db/mysql");
const authMiddleware = require("../middleware/authMiddleware");
// 获取用户信息
router.get(
"/user/info",
"/userInfo",
authMiddleware,
(req, res) => {
res.json({
@@ -19,5 +20,106 @@ router.get(
}
);
// 获取联系人列表
router.get(
"/contactsInfo",
authMiddleware,
(req, res) => {
const sql = `
SELECT
u.user_id,
u.username
FROM chat_mysql.contacts c
JOIN chat_mysql.users u
ON c.contact_id = u.user_id
WHERE c.user_id = ?;
`;
db.query(sql, [req.user.userId], (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 => ({
contactId: contact.user_id,
contactName: contact.username
}))
},
});
} else {
res.json({
code: 401,
message: "未找到联系人",
data: {
contacts: []
}
});
}
});
}
);
router.get(
"/messagesInfo",
authMiddleware,
(req, res) => {
const currentUserId = req.user.userId;
const sql = `
SELECT
id,
sender_id,
receiver_id,
content,
created_at
FROM chat_mysql.messages
WHERE sender_id = ? OR receiver_id = ?
ORDER BY created_at ASC;
`;
db.query(sql, [currentUserId, currentUserId], (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,
senderId: message.sender_id,
receiverId: message.receiver_id,
content: message.content,
createdAt: message.created_at
}))
},
});
} else {
res.json({
code: 401,
message: "未找到联系人消息",
data: {
messages: []
}
});
}
});
}
);
module.exports = router;
+1 -1
View File
@@ -7,7 +7,7 @@ function createToken(payload){
payload,
secret,
{
expiresIn:"2min"
expiresIn:"10min"
}
);
}