diff --git a/src/api/im/group/index.ts b/src/api/im/group/index.ts index 9b353e7a8..d981a50df 100644 --- a/src/api/im/group/index.ts +++ b/src/api/im/group/index.ts @@ -9,6 +9,7 @@ export interface ImGroupRespVO { avatar?: string // 群头像 notice?: string // 群公告 banned?: boolean // 是否封禁 + mutedAll?: boolean // 是否全群禁言 bannedTime?: string // 封禁时间 status: number // 群状态(0=正常,1=已解散) dissolvedTime?: string // 解散时间 @@ -97,3 +98,18 @@ export const pinGroupMessage = (data: ImGroupMessagePinReqVO) => { export const unpinGroupMessage = (data: ImGroupMessagePinReqVO) => { return request.put({ url: '/im/group/unpin-message', data }) } + +// 全群禁言 / 取消(仅群主 / 管理员可调) +export const muteAll = (data: { groupId: number; mutedAll: boolean }) => { + return request.put({ url: '/im/group/mute-all', data }) +} + +// 禁言成员 +export const muteMember = (data: { groupId: number; userId: number; mutedSeconds: number }) => { + return request.put({ url: '/im/group/mute-member', data }) +} + +// 取消成员禁言 +export const cancelMuteMember = (data: { groupId: number; userId: number }) => { + return request.put({ url: '/im/group/cancel-mute-member', data }) +} diff --git a/src/api/im/group/member/index.ts b/src/api/im/group/member/index.ts index 2c65016fb..5ca9be4a6 100644 --- a/src/api/im/group/member/index.ts +++ b/src/api/im/group/member/index.ts @@ -12,6 +12,7 @@ export interface ImGroupMemberRespVO { role?: number // 成员角色,参见 ImGroupMemberRole 枚举 joinTime?: string // 入群时间 quitTime?: string // 退群时间 + muteEndTime?: string // 禁言到期时间 createTime?: string // 创建时间 // 聚合字段(自 AdminUser) nickname?: string // 用户昵称 diff --git a/src/api/im/manager/group/index.ts b/src/api/im/manager/group/index.ts index 8c8d493e6..ffcaf5b21 100644 --- a/src/api/im/manager/group/index.ts +++ b/src/api/im/manager/group/index.ts @@ -10,6 +10,7 @@ export interface ImManagerGroupVO { memberCount?: number status: number banned: boolean + mutedAll?: boolean // 是否全群禁言 bannedReason?: string bannedTime?: Date dissolvedTime?: Date @@ -27,6 +28,7 @@ export interface ImManagerGroupMemberVO { role?: number // 成员角色,参见 ImGroupMemberRole 枚举 joinTime?: Date quitTime?: Date + muteEndTime?: Date // 禁言到期时间 } // 获得群分页 diff --git a/src/views/im/manager/group/GroupDetail.vue b/src/views/im/manager/group/GroupDetail.vue index 2678bd48f..993250c14 100644 --- a/src/views/im/manager/group/GroupDetail.vue +++ b/src/views/im/manager/group/GroupDetail.vue @@ -16,10 +16,14 @@ - + {{ detail.bannedReason }} + + 已禁言 + 未禁言 + {{ detail.notice || '-' }} {{ formatDate(detail.createTime) }} @@ -86,6 +90,15 @@ align="center" :formatter="dateFormatter" /> + + + diff --git a/src/views/im/manager/group/index.vue b/src/views/im/manager/group/index.vue index a44338524..b6951280b 100644 --- a/src/views/im/manager/group/index.vue +++ b/src/views/im/manager/group/index.vue @@ -111,6 +111,12 @@ + + +