diff --git a/templates/index.html b/templates/index.html index 0687c9f..f776a65 100644 --- a/templates/index.html +++ b/templates/index.html @@ -410,19 +410,43 @@ html += ''; div.innerHTML = html; - // 如果是用户消息且有搜索结果,在设置innerHTML后追加 + // 如果是用户消息且有额外数据(搜索结果、图片、文件),在设置innerHTML后追加 if (role === 'user' && extraData) { console.log('Processing extraData for user message:', extraData); - console.log('search_results exists:', extraData.search_results); + const bodyDiv = div.querySelector('.message-body'); + + // 处理图片 + if (extraData.images && extraData.images.length > 0) { + let imagesHtml = '
'; + for (const img of extraData.images) { + // 历史记录只有图片元信息,显示占位符 + imagesHtml += `
+ + ${escapeHtml(img.name || '图片')} +
`; + } + imagesHtml += '
'; + if (bodyDiv) bodyDiv.insertAdjacentHTML('beforeend', imagesHtml); + } + + // 处理文本文件 + if (extraData.files && extraData.files.length > 0) { + let filesHtml = '
'; + for (const f of extraData.files) { + filesHtml += `
+ + ${escapeHtml(f.name || '文件')} +
`; + } + filesHtml += '
'; + if (bodyDiv) bodyDiv.insertAdjacentHTML('beforeend', filesHtml); + } + + // 处理搜索结果 if (extraData.search_results && extraData.search_results.length > 0) { console.log('Building search results HTML for', extraData.search_results.length, 'results'); const searchHtml = buildSearchResultsHtml(extraData.search_results, extraData.search_query || content); - const bodyDiv = div.querySelector('.message-body'); - console.log('bodyDiv found:', bodyDiv != null); - if (bodyDiv) { - bodyDiv.insertAdjacentHTML('beforeend', searchHtml); - console.log('Search results HTML inserted'); - } + if (bodyDiv) bodyDiv.insertAdjacentHTML('beforeend', searchHtml); } }