From 244907b152d2e8118627a83aac2fd40f56311f65 Mon Sep 17 00:00:00 2001 From: MT-Fire <798521692@qq.com> Date: Mon, 9 Mar 2026 14:55:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=85=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E7=94=A8=E6=88=B7=E6=A6=82=E5=BF=B5=EF=BC=8C?= =?UTF-8?q?=E5=86=99=E5=85=A5=E6=9F=A5=E6=89=BE=E9=83=BD=E8=A6=81=E4=BD=BF?= =?UTF-8?q?=E7=94=A8user=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/conversation_routes.py | 4 ++-- server/main.py | 4 ++-- src/services/conversationApi.ts | 19 ++++++++++++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) 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) {