zhangwencui
7 天以前 bbb54adc8d9fd6ae6b87ac036c8b21f3ad7daef4
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
import { requestClient } from '#/api/request';
 
export namespace ImGroupMemberApi {
  /** 群成员 Response VO */
  export interface GroupMemberRespVO {
    id: number; // 编号
    groupId: number; // 群编号
    userId: number; // 用户编号
    displayUserName?: string; // 组内显示名(群主设置的备注)
    groupRemark?: string; // 群备注(当前用户对群的备注)
    silent?: boolean; // 是否免打扰
    status?: number; // 成员状态(0=在群,1=退群)
    role?: number; // 成员角色,参见 ImGroupMemberRole 枚举
    joinTime?: string; // 入群时间
    quitTime?: string; // 退群时间
    muteEndTime?: string; // 禁言到期时间
    createTime?: string; // 创建时间
    nickname?: string; // 用户昵称
    avatar?: string; // 用户头像
  }
 
  /** 群成员邀请 Request VO */
  export interface GroupMemberInviteReqVO {
    groupId: number; // 群编号
    memberUserIds: number[]; // 被邀请的用户编号列表
  }
 
  /** 群成员移除 Request VO */
  export interface GroupMemberRemoveReqVO {
    groupId: number; // 群编号
    memberUserIds: number[]; // 被移除的用户编号列表
  }
 
  /** 群成员更新 Request VO */
  export interface GroupMemberUpdateReqVO {
    groupId: number; // 群编号
    displayUserName?: string; // 群内昵称
    groupRemark?: string; // 群备注
    silent?: boolean; // 是否免打扰
  }
}
 
 
/** 邀请用户加入群 */
export function inviteGroupMember(data: ImGroupMemberApi.GroupMemberInviteReqVO) {
  return requestClient.post<boolean>('/im/group/invite', data);
}
 
/** 退出群 */
export function quitGroup(groupId: number | string) {
  return requestClient.delete<boolean>('/im/group/quit', {
    params: { groupId },
  });
}
 
/** 移除群成员 */
export function removeGroupMember(data: ImGroupMemberApi.GroupMemberRemoveReqVO) {
  return requestClient.delete<boolean>('/im/group/kicking', { data });
}
 
/** 获得群成员详情 */
export function getGroupMember(groupId: number, userId: number) {
  return requestClient.get<ImGroupMemberApi.GroupMemberRespVO>('/im/group-member/get', {
    params: { groupId, userId },
  });
}
 
/** 获得指定群的成员列表(聚合 AdminUser 昵称 / 头像) */
export function getGroupMemberList(groupId: number | string) {
  return requestClient.get<ImGroupMemberApi.GroupMemberRespVO[]>('/im/group-member/list', {
    params: { groupId },
  });
}
 
/** 更新群成员 */
export function updateGroupMember(data: ImGroupMemberApi.GroupMemberUpdateReqVO) {
  return requestClient.put<boolean>('/im/group-member/update', data);
}