| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | | export namespace ImPrivateMessageApi { |
| | | /** ç§èæ¶æ¯ Response VO */ |
| | | export interface PrivateMessageRespVO { |
| | | id: number; // æ¶æ¯ç¼å· |
| | | clientMessageId: string; // 客æ·ç«¯æ¶æ¯ç¼å· |
| | | senderId: number; // åé人ç¼å· |
| | | receiverId: number; // æ¥æ¶äººç¼å· |
| | | type: number; // å
容类å |
| | | content: string; // æ¶æ¯å
容ï¼JSON æ ¼å¼ï¼ |
| | | status: number; // æ¶æ¯ç¶æï¼æ£å¸¸ / å·²æ¤åï¼ |
| | | receiptStatus?: number; // åæ§ç¶æï¼ä¸éè¦ / å¾
宿 / 已宿ï¼ï¼å¯¹é½ ImMessageReceiptStatus |
| | | sendTime: string; // åéæ¶é´ |
| | | } |
| | | |
| | | /** ç§èæ¶æ¯åé Request VO */ |
| | | export interface PrivateMessageSendReqVO { |
| | | clientMessageId: string; // 客æ·ç«¯æ¶æ¯ç¼å· |
| | | receiverId: number; // æ¥æ¶äººç¼å· |
| | | type: number; // å
容类å |
| | | content: string; // æ¶æ¯å
容ï¼JSON æ ¼å¼ï¼ |
| | | receipt?: boolean; // æ¯å¦éè¦åæ§ï¼ä¸ä¼ å端é»è®¤ trueï¼æ®éç§èç¨æ·æ¶æ¯ï¼ |
| | | } |
| | | |
| | | /** ç§èå岿¶æ¯å表 Request VO */ |
| | | export interface PrivateMessageListReqVO { |
| | | receiverId: number | string; // æ¥æ¶äººç¼å·ï¼å¯¹æ¹ï¼ |
| | | maxId?: number | string; // èµ·å§æ¶æ¯ç¼å·ï¼ä¸å«ï¼ï¼ä¸ºç©ºåä»ææ°æ¶æ¯å¼å§ |
| | | limit: number; // æåæ°éï¼1 ~ 200ï¼ |
| | | } |
| | | } |
| | | |
| | | |
| | | /** åéç§èæ¶æ¯ */ |
| | | export function sendPrivateMessage(data: ImPrivateMessageApi.PrivateMessageSendReqVO) { |
| | | return requestClient.post<ImPrivateMessageApi.PrivateMessageRespVO>( |
| | | '/im/message/private/send', |
| | | data, |
| | | ); |
| | | } |
| | | |
| | | /** æåç§èæ¶æ¯ï¼å¢éï¼ */ |
| | | export function pullPrivateMessageList( |
| | | params: { minId: number | string; size: number }, |
| | | signal?: AbortSignal, |
| | | ) { |
| | | return requestClient.get<ImPrivateMessageApi.PrivateMessageRespVO[]>( |
| | | '/im/message/private/pull', |
| | | { params, signal }, |
| | | ); |
| | | } |
| | | |
| | | /** æ¥è¯¢ç§èå岿¶æ¯ */ |
| | | export function getPrivateMessageList(params: ImPrivateMessageApi.PrivateMessageListReqVO) { |
| | | return requestClient.get<ImPrivateMessageApi.PrivateMessageRespVO[]>( |
| | | '/im/message/private/list', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** æ è®°ç§èæ¶æ¯å·²è¯» */ |
| | | export function readPrivateMessages( |
| | | receiverId: number | string, |
| | | messageId: number | string, |
| | | ) { |
| | | return requestClient.put<boolean>('/im/message/private/read', undefined, { |
| | | params: { receiverId, messageId }, |
| | | }); |
| | | } |
| | | |
| | | /** æ¥è¯¢å¯¹æ¹å·²è¯»å°æåçæå¤§æ¶æ¯ idï¼å¤ç«¯ / 离线åç¨äºè¡¥é½å·²è¯»ç¶æï¼ */ |
| | | export function getPrivateMaxReadMessageId( |
| | | peerId: number | string, |
| | | signal?: AbortSignal, |
| | | ) { |
| | | return requestClient.get<null | number>( |
| | | '/im/message/private/max-read-message-id', |
| | | { params: { peerId }, signal }, |
| | | ); |
| | | } |
| | | |
| | | /** æ¤åç§èæ¶æ¯ */ |
| | | export function recallPrivateMessage(id: number | string) { |
| | | return requestClient.delete<ImPrivateMessageApi.PrivateMessageRespVO>( |
| | | '/im/message/private/recall', |
| | | { params: { id } }, |
| | | ); |
| | | } |