| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | | export namespace ImFriendRequestApi { |
| | | /** IM 好åç³è¯· Response VO */ |
| | | export interface FriendRequestRespVO { |
| | | id: number; // ç³è¯·ç¼å· |
| | | fromUserId: number; // åèµ·æ¹ç¨æ·ç¼å· |
| | | toUserId: number; // æ¥æ¶æ¹ç¨æ·ç¼å· |
| | | handleResult: number; // å¤çç»æï¼0=æªå¤çï¼1=åæï¼2=æç» |
| | | applyContent?: string; // ç³è¯·çç± |
| | | handleContent?: string; // å¤ççç±ï¼æ¥æ¶æ¹æç»æ¶å¯éå¡«ï¼ |
| | | addSource?: number; // æ·»å æ¥æºï¼åè§ ImFriendAddSourceEnum |
| | | handleTime?: string; // å¤çæ¶é´ |
| | | createTime: string; // ç³è¯·å建æ¶é´ |
| | | updateTime?: number; // æè¿æ´æ°æ¶é´ï¼æ¯«ç§æ¶é´æ³ï¼å¢éæå游æ ç¨ï¼ |
| | | fromNickname?: string; // åèµ·æ¹æµç§° |
| | | fromAvatar?: string; // åèµ·æ¹å¤´å |
| | | toNickname?: string; // æ¥æ¶æ¹æµç§° |
| | | toAvatar?: string; // æ¥æ¶æ¹å¤´å |
| | | } |
| | | |
| | | /** IM 好åç³è¯·åèµ· Request VO */ |
| | | export interface FriendRequestApplyReqVO { |
| | | toUserId: number; // æ¥æ¶æ¹ç¨æ·ç¼å· |
| | | applyContent?: string; // ç³è¯·çç± |
| | | displayName?: string; // å¯¹æ¥æ¶æ¹ç夿³¨ï¼ä»
èªå·±å¯è§ï¼ |
| | | addSource?: number; // æ·»å æ¥æº |
| | | } |
| | | } |
| | | |
| | | |
| | | /** å起好åç³è¯· */ |
| | | export function applyFriendRequest(data: ImFriendRequestApi.FriendRequestApplyReqVO) { |
| | | return requestClient.post<null | number>('/im/friend-request/apply', data); |
| | | } |
| | | |
| | | /** åæå¥½åç³è¯· */ |
| | | export function agreeFriendRequest(id: number | string) { |
| | | return requestClient.put<boolean>('/im/friend-request/agree', undefined, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** æç»å¥½åç³è¯· */ |
| | | export function refuseFriendRequest( |
| | | id: number | string, |
| | | handleContent?: string, |
| | | ) { |
| | | return requestClient.put<boolean>('/im/friend-request/refuse', undefined, { |
| | | params: { id, handleContent }, |
| | | }); |
| | | } |
| | | |
| | | /** æ¥è¯¢ãæç¸å
³ãç好åç³è¯·åè¡¨ï¼æ¸¸æ å页ï¼ä¼ maxId å è½½æ´å¤ï¼ */ |
| | | export function getMyFriendRequestList(limit: number, maxId?: number) { |
| | | const params: Record<string, number> = { limit }; |
| | | if (maxId != null) { |
| | | params.maxId = maxId; |
| | | } |
| | | return requestClient.get<ImFriendRequestApi.FriendRequestRespVO[]>( |
| | | '/im/friend-request/list', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** å¢éæåãæç¸å
³ãç好åç³è¯·åæ´ï¼éè¿ / 离线补å¿ï¼ */ |
| | | export function pullMyFriendRequestList(params: { |
| | | lastId?: number; |
| | | lastUpdateTime?: number; |
| | | limit: number; |
| | | }) { |
| | | return requestClient.get<ImFriendRequestApi.FriendRequestRespVO[]>( |
| | | '/im/friend-request/pull', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** æ id 忥ãæç¸å
³ãçç³è¯·è®°å½ï¼å¸¦è¶æè¿æ»¤ï¼WebSocket éç¥å°è¾¾åç¨ï¼ */ |
| | | export function getMyFriendRequest(id: number) { |
| | | return requestClient.get<ImFriendRequestApi.FriendRequestRespVO | null>( |
| | | '/im/friend-request/get', |
| | | { params: { id } }, |
| | | ); |
| | | } |