gaoluyang
2026-06-24 c0cb161bb52ce0fbdce5c66ec391d107c75e2452
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import type { PageParam, PageResult } from '..\..\..\..\packages\effects\request\src';
 
import { requestClient } from '#/api/request';
 
export namespace ImManagerGroupApi {
  /** 群 */
  export interface Group {
    id: number;
    name: string;
    avatar?: string;
    notice?: string;
    ownerUserId: number;
    ownerNickname?: string;
    memberCount?: number;
    status: number;
    banned: boolean;
    mutedAll?: boolean; // 是否全群禁言
    bannedReason?: string;
    bannedTime?: Date;
    dissolvedTime?: Date;
    createTime: Date;
  }
 
  /** 群成员 */
  export interface GroupMember {
    userId: number;
    nickname?: string;
    avatar?: string;
    displayUserName?: string;
    groupRemark?: string;
    silent?: boolean;
    status: number;
    role?: number; // 成员角色,参见 ImGroupMemberRole 枚举
    joinTime?: Date;
    quitTime?: Date;
    muteEndTime?: Date; // 禁言到期时间
  }
 
  /** 群封禁请求 */
  export interface GroupBanReqVO {
    id: number;
    reason: string;
  }
}
 
 
/** 获得群分页 */
export function getManagerGroupPage(params: PageParam) {
  return requestClient.get<PageResult<ImManagerGroupApi.Group>>(
    '/im/manager/group/page',
    { params },
  );
}
 
/** 获得群详情 */
export function getManagerGroup(id: number) {
  return requestClient.get<ImManagerGroupApi.Group>('/im/manager/group/get', {
    params: { id },
  });
}
 
/** 封禁群 */
export function banManagerGroup(data: ImManagerGroupApi.GroupBanReqVO) {
  return requestClient.put<boolean>('/im/manager/group/ban', data);
}
 
/** 解封群 */
export function unbanManagerGroup(id: number) {
  return requestClient.put<boolean>('/im/manager/group/unban', undefined, {
    params: { id },
  });
}
 
/** 解散群 */
export function dissolveManagerGroup(id: number) {
  return requestClient.delete<boolean>('/im/manager/group/dissolve', {
    params: { id },
  });
}
 
/** 获得群成员列表(含已退群成员,由前端按需过滤) */
export function getManagerGroupMemberList(groupId: number) {
  return requestClient.get<ImManagerGroupApi.GroupMember[]>(
    '/im/manager/group/member/list',
    { params: { groupId } },
  );
}