35 lines
958 B
TypeScript
35 lines
958 B
TypeScript
import { requestClient } from '#/api/request';
|
|
|
|
export namespace ImChannelMessageApi {
|
|
/** 频道消息 */
|
|
export interface ChannelMessageRespVO {
|
|
id: number;
|
|
clientMessageId?: string;
|
|
channelId: number;
|
|
materialId: number;
|
|
type: number;
|
|
content: string;
|
|
receiptStatus?: number;
|
|
sendTime: string;
|
|
}
|
|
}
|
|
|
|
|
|
/** 拉取当前用户应收的频道消息(离线增量);按 minId 游标分页 */
|
|
export function pullChannelMessages(
|
|
params: { minId: number; size?: number },
|
|
signal?: AbortSignal,
|
|
) {
|
|
return requestClient.get<ImChannelMessageApi.ChannelMessageRespVO[]>(
|
|
'/im/channel/message/pull',
|
|
{ params, signal },
|
|
);
|
|
}
|
|
|
|
/** 上报频道消息已读位置;切到频道会话或拉到新消息后调 */
|
|
export function readChannelMessages(channelId: number, messageId: number) {
|
|
return requestClient.put<boolean>('/im/channel/message/read', undefined, {
|
|
params: { channelId, messageId },
|
|
});
|
|
}
|