gaoluyang
2 小时以前 cb9cd49627b65a4c0e137e08063271a8cefe1826
src/api/im/friend/index.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
import { requestClient } from '#/api/request';
export namespace ImFriendApi {
  /** IM å¥½å‹ Response VO */
  export interface FriendRespVO {
    id: number; // å…³ç³»è®°å½•编号
    friendUserId: number; // å¥½å‹çš„用户编号
    silent?: boolean; // æ˜¯å¦å…æ‰“扰
    displayName?: string; // å¥½å‹å±•示备注(仅自己可见)
    displayNamePinyin?: string; // å¤‡æ³¨çš„æ‹¼éŸ³ï¼ˆå°å†™æ— ç©ºæ ¼ï¼Œå‰ç«¯æŒ‰é¦–字母分桶 / æ‹¼éŸ³æœç´¢ï¼‰
    addSource?: number; // æ·»åŠ æ¥æºï¼›å‚è§ ImFriendAddSourceEnum
    pinned?: boolean; // æ˜¯å¦ç½®é¡¶è”系人
    blocked?: boolean; // æ˜¯å¦æ‹‰é»‘
    status?: number; // å¥½å‹çŠ¶æ€ï¼ˆ0=正常,1=已删除)
    addTime?: string; // æ·»åŠ å¥½å‹æ—¶é—´
    deleteTime?: string; // åˆ é™¤å¥½å‹æ—¶é—´
    updateTime?: number; // æœ€è¿‘更新时间(毫秒时间戳,增量拉取游标用)
    nickname?: string; // å¥½å‹æ˜µç§°
    nicknamePinyin?: string; // æ˜µç§°çš„æ‹¼éŸ³ï¼ˆå°å†™æ— ç©ºæ ¼ï¼Œå‰ç«¯æŒ‰é¦–字母分桶 / æ‹¼éŸ³æœç´¢ï¼‰
    avatar?: string; // å¥½å‹å¤´åƒ
  }
  /** IM å¥½å‹æ›´æ–° Request VO */
  export interface FriendUpdateReqVO {
    friendUserId: number; // å¥½å‹çš„用户编号
    silent?: boolean; // æ˜¯å¦å…æ‰“扰
    displayName?: string; // å¥½å‹å±•示备注
    pinned?: boolean; // æ˜¯å¦ç½®é¡¶è”系人
  }
}
/** èŽ·å¾—å½“å‰ç™»å½•ç”¨æˆ·çš„å¥½å‹åˆ—è¡¨ */
export function getMyFriendList() {
  return requestClient.get<ImFriendApi.FriendRespVO[]>('/im/friend/list');
}
/** å¢žé‡æ‹‰å–当前用户的好友关系(重连 / ç¦»çº¿è¡¥å¿ï¼‰ */
export function pullMyFriendList(params: {
  lastId?: number;
  lastUpdateTime?: number;
  limit: number;
}) {
  return requestClient.get<ImFriendApi.FriendRespVO[]>('/im/friend/pull', { params });
}
/** èŽ·å¾—å¥½å‹è¯¦æƒ… */
export function getFriend(friendUserId: number | string) {
  return requestClient.get<ImFriendApi.FriendRespVO>('/im/friend/get', {
    params: { friendUserId },
  });
}
/** åˆ é™¤å¥½å‹ï¼ˆå•向软删除) */
export function deleteFriend(friendUserId: number | string, clear: boolean) {
  return requestClient.delete<boolean>('/im/friend/delete', {
    params: { friendUserId, clear },
  });
}
/** æ›´æ–°å¥½å‹ä¿¡æ¯ï¼ˆå¤‡æ³¨ / å…æ‰“扰 / è”系人置顶) */
export function updateFriend(data: ImFriendApi.FriendUpdateReqVO) {
  return requestClient.put<boolean>('/im/friend/update', data);
}
/** æ‹‰é»‘好友(必须先是好友;单边屏蔽对方私聊消息) */
export function blockFriend(friendUserId: number | string) {
  return requestClient.put<boolean>('/im/friend/block', undefined, {
    params: { friendUserId },
  });
}
/** ç§»å‡ºé»‘名单 */
export function unblockFriend(friendUserId: number | string) {
  return requestClient.put<boolean>('/im/friend/unblock', undefined, {
    params: { friendUserId },
  });
}