Files
yudao-ui-admin-vue3/src/api/im/message/index.ts
2024-05-27 23:41:45 +08:00

48 lines
1.4 KiB
TypeScript

import request from '@/config/axios'
export interface ImMessageSendReqVO {
clientMessageId: string // 客户端消息编号
receiverId: number // 接收人编号
conversationType: number // 会话类型
contentType: number // 内容类型
content: string // 内容
}
export interface ImMessageSendRespVO {
id: number // 编号
sendTime: string // 发送时间
}
export interface ImMessageRespVO {
id: number // 编号
conversationType: number // 会话类型
senderId: number // 发送人编号
senderNickname: string // 发送人昵称
senderAvatar: string // 发送人头像
receiverId: number // 接收人编号
contentType: number // 内容类型
content: string // 内容
sendTime: string // 发送时间
sequence: number // 序号
}
export interface pullParams {
sequence: number
size: number
}
// 发送消息
export const sendMessage = async (data: ImMessageSendReqVO): Promise<ImMessageSendRespVO> => {
return await request.post({ url: `/im/message/send`, data })
}
// 消息列表-拉取大于 sequence 的消息列表
export const pullMessageList = async (params: pullParams): Promise<ImMessageRespVO[]> => {
return await request.get({ url: `/im/message/pull`, params })
}
// 消息列表-根据接收人和发送时间进行分页查询
export const getMessageList = async (params: any): Promise<ImMessageRespVO[]> => {
return await request.get({ url: `/im/message/list`, params })
}