From 439743c05136b6b2bbaf772e7f59b0d5de489b91 Mon Sep 17 00:00:00 2001 From: hubian <908234780@qq.com> Date: Mon, 27 Apr 2026 10:50:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=99=BA=E8=83=BD=E4=BD=93=E5=AF=B9?= =?UTF-8?q?=E8=AF=9D=E4=B8=8D=E6=98=BE=E7=A4=BA=E5=9C=A8=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E5=88=97=E8=A1=A8=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 对话页面只显示没有智能体的普通对话 - 智能体对话只在智能体页面的最近使用列表显示 - 搜索功能也只搜索普通对话 --- www/app.js | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/www/app.js b/www/app.js index 83cb9e9..3b1ab61 100644 --- a/www/app.js +++ b/www/app.js @@ -287,6 +287,9 @@ function bindPageEvents() { // ==================== 对话页面 ==================== function renderChatsPage() { + // 只显示没有智能体的普通对话 + const normalConversations = conversations.filter(conv => !conv.agentId); + return `
@@ -303,9 +306,9 @@ function renderChatsPage() {
- ${conversations.length === 0 + ${normalConversations.length === 0 ? '
暂无对话记录

点击右上角 + 开始新对话
' - : sortConversations().map(conv => ` + : sortNormalConversations(normalConversations).map(conv => `
${conv.is_pinned ? '📌' : ''}
${escapeHtml(conv.title)}
@@ -1138,7 +1141,7 @@ function renderProfilePage() {
@@ -1730,15 +1733,29 @@ function sortConversations() { }); } -// 搜索对话 +// 排序普通对话(没有智能体的) +function sortNormalConversations(convList) { + return [...convList].sort((a, b) => { + // 置顶优先 + if (a.is_pinned && !b.is_pinned) return -1; + if (!a.is_pinned && b.is_pinned) return 1; + // 然后按更新时间 + return b.updatedAt - a.updatedAt; + }); +} + +// 搜索普通对话(不包含智能体对话) function searchConversations(keyword) { const searchResults = document.getElementById('searchResults'); if (!searchResults) return; keyword = keyword.toLowerCase(); + // 只搜索没有智能体的普通对话 + const normalConversations = conversations.filter(conv => !conv.agentId); + // 搜索标题和消息内容 - const results = conversations.filter(conv => { + const results = normalConversations.filter(conv => { // 搜索标题 if (conv.title.toLowerCase().includes(keyword)) return true;