From 390b66aee8f23397b4b920b141b6db909efb90b1 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 5 May 2026 18:41:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(im):=20=E7=BE=A4=E7=A6=81=E8=A8=80/?= =?UTF-8?q?=E5=B0=81=E7=A6=81=20UI=20=E4=BA=A4=E4=BA=92=20+=20=E7=BE=A4?= =?UTF-8?q?=E4=B8=BB=E8=A7=A3=E6=95=A3=E7=BE=A4=E8=81=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 一、群禁言交互 - MessageItem 右键菜单新增「禁言/解除禁言/移除」(权限校验) - 新增 GroupMuteMemberDialog 禁言时长选择弹窗 - ConversationGroupSide 新增「全群禁言」开关 - MessageInput 新增禁言/封禁覆盖层,拦截所有发送入口 - canManageSender 目标角色未知时不展示管理菜单 - 全群禁言群主按 ownerUserId 直接豁免,不依赖成员列表 二、群封禁(GROUP_BANNED 1533) - constants 激活 GROUP_BANNED 常量,扩展 isGroupNotification 范围 - groupStore 处理 1533 事件,实时更新 banned 字段 - MessageInput 覆盖层最高优先级判断 banned(红底) - Group 类型、convertGroup 映射 banned 字段 三、禁言事件(1512-1515) - constants 激活 GROUP_MEMBER_MUTED / CANCEL_MUTED / MUTED / CANCEL_MUTED - groupStore 处理 1512-1515 事件,更新 muteEndTime / mutedAll - user.ts 新增 4 条禁言 + 2 条封禁通知文案 - GroupNotificationPayload 扩展 mutedUserId / muteEndTime / banned 四、群主解散群聊 - ConversationGroupSide 底部按钮:群主显示「解散群聊」,非群主显示「退出群聊」 - 新增 handleDissolve 实现(二次确认 → dissolveGroup API → 清本地数据) --- .../group/GroupMuteMemberDialog.vue | 95 ++++++++++++++++ .../conversation/ConversationGroupSide.vue | 70 +++++++++++- .../components/input/MessageInput.vue | 103 +++++++++++++++++- .../components/message/MessageItem.vue | 95 +++++++++++++++- .../components/message/MessagePanel.vue | 12 ++ src/views/im/home/store/groupStore.ts | 43 +++++++- src/views/im/home/types/index.ts | 3 + src/views/im/utils/constants.ts | 15 +-- src/views/im/utils/user.ts | 19 +++- 9 files changed, 436 insertions(+), 19 deletions(-) create mode 100644 src/views/im/home/components/group/GroupMuteMemberDialog.vue diff --git a/src/views/im/home/components/group/GroupMuteMemberDialog.vue b/src/views/im/home/components/group/GroupMuteMemberDialog.vue new file mode 100644 index 000000000..df04b095a --- /dev/null +++ b/src/views/im/home/components/group/GroupMuteMemberDialog.vue @@ -0,0 +1,95 @@ + + + diff --git a/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue b/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue index d12166c67..33f063300 100644 --- a/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue +++ b/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue @@ -267,6 +267,11 @@ 置顶聊天 + +
+ 全群禁言 + +
@@ -300,10 +305,21 @@ - - -