Files
yudao-ui-admin-vue3/src/api/im/message/index.ts

48 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-05-08 23:09:33 +08:00
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 // 序号
}
2024-05-27 23:41:45 +08:00
export interface pullParams {
sequence: number
size: number
}
2024-05-08 23:09:33 +08:00
// 发送消息
2024-05-27 23:41:45 +08:00
export const sendMessage = async (data: ImMessageSendReqVO): Promise<ImMessageSendRespVO> => {
2024-05-08 23:09:33 +08:00
return await request.post({ url: `/im/message/send`, data })
}
// 消息列表-拉取大于 sequence 的消息列表
2024-05-27 23:41:45 +08:00
export const pullMessageList = async (params: pullParams): Promise<ImMessageRespVO[]> => {
2024-05-08 23:09:33 +08:00
return await request.get({ url: `/im/message/pull`, params })
}
// 消息列表-根据接收人和发送时间进行分页查询
2024-05-27 23:41:45 +08:00
export const getMessageList = async (params: any): Promise<ImMessageRespVO[]> => {
2024-05-08 23:09:33 +08:00
return await request.get({ url: `/im/message/list`, params })
}