feat(image): 新建 knowai-core:1.0.0 镜像并完成推送
Some checks reported errors
continuous-integration/drone/push Build was killed

- 搭建 api、auth、utils 等逻辑模块
- 通过 tsc、eslint、vitest 测试验证

BREAKING CHANGE: 新镜像分支
This commit is contained in:
tobegold574
2025-11-10 20:20:25 +08:00
commit 6a81b7bb13
73 changed files with 10511 additions and 0 deletions

48
api/modules/chat.ts Normal file
View File

@@ -0,0 +1,48 @@
import type { AxiosRequestConfig } from 'axios';
import type { ApiClient } from '../types';
import type {
CreateChatSessionRequest,
UpdateChatSessionRequest,
SendMessageRequest,
GetChatSessionsRequest,
GetChatSessionsResponse,
GetChatMessagesRequest,
GetChatMessagesResponse,
MarkMessagesAsReadRequest,
MarkMessagesAsReadResponse
} from '@/types/chat/api';
import type { ChatSession, ChatMessage } from '@/types/chat/base';
// 聊天API服务工厂函数
export const chatApi = (client: ApiClient) => ({
// 创建聊天会话
createSession: (data: CreateChatSessionRequest): Promise<{ session: ChatSession }> => {
return client.post('/chat/sessions', data);
},
// 更新聊天会话
updateSession: ({ sessionId, ...data }: UpdateChatSessionRequest): Promise<{ session: ChatSession }> => {
return client.put(`/chat/sessions/${sessionId}`, data);
},
// 发送消息
sendMessage: (data: SendMessageRequest): Promise<{ message: ChatMessage }> => {
return client.post(`/chat/sessions/${data.sessionId}/messages`, data);
},
// 获取聊天会话列表
getSessions: (params?: GetChatSessionsRequest): Promise<GetChatSessionsResponse> => {
const config: AxiosRequestConfig = params ? { params } : {};
return client.get('/chat/sessions', config);
},
// 获取聊天消息
getMessages: ({ sessionId, ...params }: GetChatMessagesRequest): Promise<GetChatMessagesResponse> => {
return client.get(`/chat/sessions/${sessionId}/messages`, { params });
},
// 标记消息已读
markMessagesAsRead: ({ sessionId, messageIds }: MarkMessagesAsReadRequest): Promise<MarkMessagesAsReadResponse> => {
return client.post(`/chat/sessions/${sessionId}/read`, { messageIds });
}
});