48 lines
1.4 KiB
TypeScript
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 })
|
|
}
|