diff --git a/yunkes/src/views/ChatTimeline.vue b/yunkes/src/views/ChatTimeline.vue index 7e61e3e..7bbdd75 100644 --- a/yunkes/src/views/ChatTimeline.vue +++ b/yunkes/src/views/ChatTimeline.vue @@ -53,6 +53,13 @@ const channelTyped = computed(() => props.channel as Channel) /** True when this timeline is a group chat (drives the query + title). */ const isGroup = computed(() => !!props.roomId) +/** + * 专注模式(?bare=1):群统计等列表入口的「查看详情」——隐藏会话侧栏, + * 对齐云客群详情页(无好友/群列表,纯聊天记录窗)。员工聊天窗口入口 + * (不带 bare)侧栏常驻(2026-09-09 修复保持)。 + */ +const isBare = computed(() => route.query.bare === '1') + /** 当前会话类型(高亮 sidebar + 驱动空态)。账号级入口(无 talkerId/roomId)→ null。 */ const activeType = computed<'friend' | 'group' | null>(() => isGroup.value ? 'group' : props.talkerId ? 'friend' : null, @@ -344,8 +351,11 @@ onMounted(() => {
+ 消失(2026-09-09 用户报);onSelectSession 本就双类型导航。 + bare 模式(群统计「查看详情」入口)例外——纯聊天记录窗无侧栏, + 对齐云客群详情页(2026-09-10 用户反馈)。 --> ,模板嵌套不保证窄化,用 wrapper 守卫。 */ @@ -199,28 +201,6 @@ function viewChatFromDrawer(): void { viewChat(row) } -/** - * 微信群「导出HTML聊天记录」→ 后端 /api/export/chat-html(room_id)。 - * 云客群列表导出按钮直接导出,无时间选择 modal(仅微信客户有「请选择时间」)。 - * WA 群 tab 无此操作(云客 WA 群列表无导出)。 - */ -async function exportGroupHtml(row: Group): Promise { - if (!row.owner_account_id || !row.room_id) { - ElMessage.warning('该群缺少归属账号/群标识,无法导出') - return - } - try { - await downloadBlob('/export/chat-html', { - channel: row.channel, - owner_account_id: row.owner_account_id, - room_id: row.room_id, - }) - ElMessage.success('导出已开始') - } catch (e) { - ElMessage.error(`导出失败,请稍后重试:${(e as Error).message}`) - } -} - // ---- header 导出:当前 tab 渠道全量群 CSV(含当前员工筛选) ---- const exporting = ref(false) @@ -444,11 +424,9 @@ onMounted(() => { - +