From 158d95f1e18e7052f546f2dd9e796510f665213a Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Tue, 10 Nov 2026 14:29:55 +0800 Subject: [PATCH] fix: chat share --- .../components/header/chat/index.vue | 2 +- .../components/header/portal/index.vue | 2 +- .../components/message-list/share/index.ts | 4 +-- .../account-menu/ApiKeyDialog.vue | 15 ++++----- .../left-sidebar/conversation-list/index.ts | 6 ++-- .../left-sidebar/conversation-list/index.vue | 21 ++++++++---- .../HistoryConversationDrawer.vue | 19 ++++++----- .../portal-conversation-list/index.ts | 3 ++ .../portal-conversation-list/index.vue | 11 +++++++ .../main/portal-chat-panel/index.vue | 6 ++-- .../conversation-panel/view/portal/index.ts | 32 ++++++++++++++++++- ui/src/layout/sidebar/WorkspaceSidebar.vue | 4 +-- ui/src/views/VIEW_README.md | 4 ++- ui/src/views/chat/login/index.vue | 17 ++++------ .../views/home/components/HomeQuickCreate.vue | 2 +- 15 files changed, 97 insertions(+), 51 deletions(-) diff --git a/ui/src/conversation-panel/components/header/chat/index.vue b/ui/src/conversation-panel/components/header/chat/index.vue index 089bb9d023e..1604d1b1c50 100644 --- a/ui/src/conversation-panel/components/header/chat/index.vue +++ b/ui/src/conversation-panel/components/header/chat/index.vue @@ -13,7 +13,7 @@ const props = defineProps<{ const list = useConversationListStore() const msgs = useMessageListStore() -// 标题栏分享不针对某一轮,进入后不预先勾选 +// 标题栏分享默认全选当前可分享记录 const shareLink = useShareLinkStoreOptional() // 回答生成中或没有消息时不可分享 const canShare = computed(() => msgs.messages.value.length > 0 && !msgs.streamLoading.value) diff --git a/ui/src/conversation-panel/components/header/portal/index.vue b/ui/src/conversation-panel/components/header/portal/index.vue index c43f04cc647..9663054669b 100644 --- a/ui/src/conversation-panel/components/header/portal/index.vue +++ b/ui/src/conversation-panel/components/header/portal/index.vue @@ -15,7 +15,7 @@ const emit = defineEmits<{ share: [] }>() const list = useConversationListStore() const msgs = useMessageListStore() // 回答生成中或没有消息时不可分享 -const canShare = computed(() => msgs.messages.value.length > 0 && !msgs.streamLoading.value) +const canShare = computed(() => msgs.messages.value.length > 0 && !msgs.streamLoading.value && !msgs.loading.value) const handleNewConversation = () => (props.newConversation ? props.newConversation() : list.newConversation()) diff --git a/ui/src/conversation-panel/components/message-list/share/index.ts b/ui/src/conversation-panel/components/message-list/share/index.ts index 8f350a2b240..03d0aa4751b 100644 --- a/ui/src/conversation-panel/components/message-list/share/index.ts +++ b/ui/src/conversation-panel/components/message-list/share/index.ts @@ -51,8 +51,8 @@ export function createShareLinkStore(deps: ShareLinkDeps) { selectedRecordIds.value = checked ? [...availableRecordIds.value] : [] } - // 进入分享选择:以传入记录为初始勾选,仅保留当前可分享记录,空值与重复项忽略 - const enterShare = (recordIds: (string | undefined)[] = []) => { + // 会话分享默认全选;内容入口传入记录时仅勾选对应问答,空值与重复项忽略 + const enterShare = (recordIds: (string | undefined)[] = availableRecordIds.value) => { selectedRecordIds.value = availableRecordIds.value.filter((recordId) => recordIds.includes(recordId)) deps.setShared(true) } diff --git a/ui/src/conversation-panel/left-sidebar/account-menu/ApiKeyDialog.vue b/ui/src/conversation-panel/left-sidebar/account-menu/ApiKeyDialog.vue index b734dba1492..eb687ac62b2 100644 --- a/ui/src/conversation-panel/left-sidebar/account-menu/ApiKeyDialog.vue +++ b/ui/src/conversation-panel/left-sidebar/account-menu/ApiKeyDialog.vue @@ -1,18 +1,15 @@