63 lines
1.7 KiB
TypeScript
63 lines
1.7 KiB
TypeScript
import type { PaginationRequest, PaginationResponse } from '../common';
|
||
import type { ChatSession, ChatMessage } from './base';
|
||
import type { ChatMessageType } from './types';
|
||
|
||
// 创建聊天会话请求接口
|
||
export interface CreateChatSessionRequest {
|
||
// 对方的ID,因为当前用户的id可以在session里获取(cookie自动带上)
|
||
participantId: string;
|
||
}
|
||
|
||
// 创建聊天会话响应接口
|
||
export interface CreateChatSessionResponse {
|
||
success: boolean;
|
||
chatSessionId: string; // 成功时返回会话ID,应该是点击私信就跳转到私信
|
||
}
|
||
|
||
|
||
// 发送消息请求接口
|
||
export interface SendMessageRequest {
|
||
chatSessionId: string; // cookie存不了这个,所以得在请求体里
|
||
content: string;
|
||
type: ChatMessageType;
|
||
}
|
||
|
||
export interface SendMessageResponse {
|
||
success: boolean;
|
||
}
|
||
|
||
// 获取聊天会话列表请求接口
|
||
export interface GetChatSessionsRequest extends PaginationRequest {
|
||
// 足矣
|
||
}
|
||
|
||
// 获取聊天会话列表响应接口
|
||
export interface GetChatSessionsResponse extends PaginationResponse<ChatSession> {
|
||
// 足矣
|
||
}
|
||
|
||
|
||
// 获取聊天消息请求接口
|
||
export interface GetChatMessagesRequest extends PaginationRequest {
|
||
chatSessionId: string;
|
||
before?: string; // 消息ID,获取该消息之前的消息
|
||
after?: string; // 消息ID,获取该消息之后的消息
|
||
}
|
||
|
||
// 获取聊天消息响应接口
|
||
export interface GetChatMessagesResponse extends PaginationResponse<ChatMessage> {
|
||
// 足矣
|
||
}
|
||
|
||
// 搜索聊天消息/会话请求接口
|
||
export interface SearchChatMessagesRequest extends PaginationRequest {
|
||
query: string;
|
||
}
|
||
|
||
// 搜索聊天消息响应接口
|
||
export interface SearchChatMessagesResponse extends PaginationResponse<ChatSession> {
|
||
// 足矣
|
||
}
|
||
|
||
|