From e08e73c760968df83d15c0836a7129d0f4d38ba0 Mon Sep 17 00:00:00 2001 From: codedogQBY <1369175442@qq.com> Date: Thu, 13 Aug 2026 10:56:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(chat):=20AI=20=E5=AF=B9=E8=AF=9D?= =?UTF-8?q?=E9=A1=B6=E9=83=A8=E6=98=BE=E7=A4=BA=E9=80=89=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E5=8E=9F=E5=8F=A5=EF=BC=8C=E6=8F=90=E9=97=AE=E6=97=B6?= =?UTF-8?q?=E5=8F=AF=E5=AF=B9=E7=85=A7=20(#664)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 复用 ReaderScreen → BookChat 导航参数 selectedText,无需新增持久化 - 对话内容顶部增加'选中文本'上下文卡片(最多 4 行,带引号) - 无选中文本时不显示该区域,保持 UI 干净 --- .../app-expo/src/screens/BookChatScreen.tsx | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/packages/app-expo/src/screens/BookChatScreen.tsx b/packages/app-expo/src/screens/BookChatScreen.tsx index 2efa69616..b0071e03a 100644 --- a/packages/app-expo/src/screens/BookChatScreen.tsx +++ b/packages/app-expo/src/screens/BookChatScreen.tsx @@ -235,7 +235,8 @@ export function BookChatScreen({ route, navigation }: Props) { return convertToMessageV2(activeThread.messages); }, [activeThread]); - const activeCurrentMessage = activeThread?.id === currentMessage?.threadId ? currentMessage : null; + const activeCurrentMessage = + activeThread?.id === currentMessage?.threadId ? currentMessage : null; const allMessages = useMemo( () => mergeMessagesWithStreaming(messagesV2, activeCurrentMessage, isStreaming), [activeCurrentMessage, isStreaming, messagesV2], @@ -526,6 +527,14 @@ export function BookChatScreen({ route, navigation }: Props) { + {selectedText?.trim() ? ( + + {t("chat.selectedText", "选中文本")} + + “{selectedText.trim()}” + + + ) : null} {allMessages.length > 0 ? ( Date: Thu, 13 Aug 2026 17:38:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(i18n):=20=E8=A1=A5=E5=85=85=20chat.sele?= =?UTF-8?q?ctedText=20=E7=BF=BB=E8=AF=91=20key=EF=BC=88zh/en=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/i18n/locales/en/chat.json | 1 + packages/core/src/i18n/locales/zh/chat.json | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/core/src/i18n/locales/en/chat.json b/packages/core/src/i18n/locales/en/chat.json index d5cba5558..fc1a91d71 100644 --- a/packages/core/src/i18n/locales/en/chat.json +++ b/packages/core/src/i18n/locales/en/chat.json @@ -18,6 +18,7 @@ "askPlaceholder": "Ask about your books...", "askBookPlaceholder": "Ask about your book...", "askAboutQuote": "Ask about the selected text...", + "selectedText": "Selected text", "suggestions": { "summarizeReading": "Summarize my recent reading", "analyzeArguments": "Analyze key arguments", diff --git a/packages/core/src/i18n/locales/zh/chat.json b/packages/core/src/i18n/locales/zh/chat.json index 086bd6a66..8d3c3fdac 100644 --- a/packages/core/src/i18n/locales/zh/chat.json +++ b/packages/core/src/i18n/locales/zh/chat.json @@ -18,6 +18,7 @@ "askPlaceholder": "输入你的问题...", "askBookPlaceholder": "关于这本书的问题...", "askAboutQuote": "关于选中的文本提问...", + "selectedText": "选中文本", "suggestions": { "summarizeReading": "总结我最近的阅读", "analyzeArguments": "分析核心论点",