update
This commit is contained in:
@@ -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 ====================
|
||||
|
||||
// 登录
|
||||
|
||||
Reference in New Issue
Block a user