diff --git a/server/api/conversation_routes.py b/server/api/conversation_routes.py index 88f56ca..a0d636f 100644 --- a/server/api/conversation_routes.py +++ b/server/api/conversation_routes.py @@ -28,10 +28,10 @@ upload_dir.mkdir(exist_ok=True) # ── 会话管理 ───────────────────────────────────────────────────── -async def get_conversations_handler(): +async def get_conversations_handler(user_id: str = "default"): """获取所有对话处理器""" db = get_db() - return db.list_conversations() + return db.list_conversations(user_id) async def get_conversation_handler(conversation_id: str): diff --git a/server/main.py b/server/main.py index 9f1919e..e0c415b 100644 --- a/server/main.py +++ b/server/main.py @@ -173,8 +173,8 @@ async def get_models(): @app.get("/api/chat-ui/conversations") -async def get_conversations(): - return await get_conversations_handler() +async def get_conversations(user_id: str = "default"): + return await get_conversations_handler(user_id) @app.get("/api/chat-ui/conversations/{conversation_id}") diff --git a/src/services/conversationApi.ts b/src/services/conversationApi.ts index 54e0551..9ac3aca 100644 --- a/src/services/conversationApi.ts +++ b/src/services/conversationApi.ts @@ -5,6 +5,7 @@ */ import { getAuthHeaders } from './request'; +import { useAuthStore } from '@/stores/auth'; import type { Conversation, Message, MessageContent, ConversationSettings } from '@/types/chat'; // API 端点 @@ -81,10 +82,11 @@ function transformMessage(backendMsg: BackendMessage): Message { /** * 将前端对话格式转换为后端格式 */ -function toBackendFormat(conversation: Partial): Record { +function toBackendFormat(conversation: Partial, userId?: string): Record { const data: Record = {}; if (conversation.id !== undefined) data.id = conversation.id; + if (userId !== undefined) data.user_id = userId; // 后端使用下划线命名 if (conversation.title !== undefined) data.title = conversation.title; if (conversation.createdAt !== undefined) data.createdAt = conversation.createdAt; if (conversation.updatedAt !== undefined) data.updatedAt = conversation.updatedAt; @@ -112,7 +114,15 @@ export const conversationApi = { * 获取所有对话列表(不含消息内容) */ async fetchConversations(): Promise { - const response = await fetch(ENDPOINTS.CONVERSATIONS, { + const authStore = useAuthStore(); + const userId = authStore.userId; + + // 构建 URL,添加 user_id 查询参数 + const url = userId + ? `${ENDPOINTS.CONVERSATIONS}?user_id=${encodeURIComponent(userId)}` + : ENDPOINTS.CONVERSATIONS; + + const response = await fetch(url, { method: 'GET', headers: getHeaders(), }); @@ -149,10 +159,13 @@ export const conversationApi = { * 创建新对话 */ async createConversation(data: Partial): Promise { + const authStore = useAuthStore(); + const userId = authStore.userId || undefined; + const response = await fetch(ENDPOINTS.CONVERSATIONS, { method: 'POST', headers: getHeaders(), - body: JSON.stringify(toBackendFormat(data)), + body: JSON.stringify(toBackendFormat(data, userId)), }); if (!response.ok) {