This commit is contained in:
mei
2026-08-11 12:19:20 +08:00
parent 2b1686b996
commit e2fbaf4a32
7 changed files with 167 additions and 61 deletions
+23
View File
@@ -867,6 +867,29 @@ app.delete('/api/chat/conversations/:id', (req, res) => {
res.json({ success: true, message: conv.type === 'group' ? '群组已解散' : '会话已删除' });
});
// 移除群成员(群主可移除任意成员,群主本人不可被移除)
app.delete('/api/chat/conversations/:id/members/:userId', (req, res) => {
const conv = db.prepare('SELECT * FROM conversations WHERE id = ?').get(req.params.id);
if (!conv || conv.type !== 'group') {
return res.status(404).json({ success: false, message: '群聊不存在' });
}
if (!isConversationMember(conv.id, req.user.id)) {
return res.status(403).json({ success: false, message: '您不是该群聊的成员' });
}
const targetId = req.params.userId;
if (targetId === conv.creator_id) {
return res.status(400).json({ success: false, message: '群主不能被移除' });
}
if (!isConversationMember(conv.id, targetId)) {
return res.status(404).json({ success: false, message: '该用户不在群聊中' });
}
if (req.user.id !== conv.creator_id) {
return res.status(403).json({ success: false, message: '只有群主可以移除群成员' });
}
db.prepare('DELETE FROM conversation_members WHERE conversation_id = ? AND user_id = ?').run(conv.id, targetId);
res.json({ success: true, message: '已将该成员移出群聊' });
});
// ==================== 认证 API ====================
// 登录