admin-vben/apps/web-antd/src/api/im/message/group/index.ts

93 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import { requestClient } from '#/api/request';
export namespace ImGroupMessageApi {
/** 群聊消息 Response VO */
export interface GroupMessageRespVO {
id: number; // 消息编号
clientMessageId: string; // 客户端消息编号
senderId: number; // 发送人编号
groupId: number; // 群编号
type: number; // 内容类型
content: string; // 消息内容JSON 格式)
status: number; // 消息状态
sendTime: string; // 发送时间
atUserIds?: number[]; // @ 目标用户编号列表
receiverUserIds?: number[]; // 定向接收用户编号列表
receiptStatus?: number; // 回执状态
readCount?: number; // 已读人数(回执消息、且发送人为当前用户时有值)
}
/** 群聊消息发送 Request VO */
export interface GroupMessageSendReqVO {
clientMessageId: string; // 客户端消息编号
groupId: number; // 群编号
type: number; // 内容类型
content: string; // 消息内容JSON 格式)
atUserIds?: number[]; // @ 目标用户编号列表
receipt?: boolean; // 是否需要回执
}
/** 群聊历史消息列表 Request VO */
export interface GroupMessageListReqVO {
groupId: number | string; // 群编号
maxId?: number | string; // 起始消息编号(不含),为空则从最新消息开始
limit: number; // 拉取数量1 ~ 200
}
}
/** 发送群聊消息 */
export function sendGroupMessage(data: ImGroupMessageApi.GroupMessageSendReqVO) {
return requestClient.post<ImGroupMessageApi.GroupMessageRespVO>(
'/im/message/group/send',
data,
);
}
/** 拉取群聊消息(增量) */
export function pullGroupMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {
return requestClient.get<ImGroupMessageApi.GroupMessageRespVO[]>(
'/im/message/group/pull',
{ params, signal },
);
}
/** 查询群聊历史消息 */
export function getGroupMessageList(params: ImGroupMessageApi.GroupMessageListReqVO) {
return requestClient.get<ImGroupMessageApi.GroupMessageRespVO[]>(
'/im/message/group/list',
{ params },
);
}
/** 标记群聊消息已读 */
export function readGroupMessages(
groupId: number | string,
messageId: number | string,
) {
return requestClient.put<boolean>('/im/message/group/read', undefined, {
params: { groupId, messageId },
});
}
/** 撤回群聊消息 */
export function recallGroupMessage(id: number | string) {
return requestClient.delete<ImGroupMessageApi.GroupMessageRespVO>(
'/im/message/group/recall',
{ params: { id } },
);
}
/** 获取群消息已读用户列表 */
export function getGroupReadUsers(params: {
groupId: number | string;
messageId: number | string;
}) {
return requestClient.get<number[]>('/im/message/group/get-read-user-ids', {
params,
});
}