gaoluyang
2026-06-29 27cd042df9aca0383a49f3514bc21958dd890912
src/api/im/group/member/index.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,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);
}