|
|
@ -190,15 +190,32 @@ |
|
|
|
.query-result { |
|
|
|
white-space: pre-wrap; |
|
|
|
line-height: 1.6; |
|
|
|
background-color: white; |
|
|
|
padding: 16px; |
|
|
|
border-radius: 6px; |
|
|
|
border: 1px solid var(--border-color); |
|
|
|
margin-top: 8px; |
|
|
|
} |
|
|
|
|
|
|
|
.message-stream { |
|
|
|
margin-top: 16px; |
|
|
|
} |
|
|
|
|
|
|
|
#processResult { |
|
|
|
margin-top: 16px; |
|
|
|
} |
|
|
|
|
|
|
|
#processResult h3 { |
|
|
|
color: var(--text-secondary); |
|
|
|
font-size: 1rem; |
|
|
|
} |
|
|
|
|
|
|
|
#queryResult h3 { |
|
|
|
color: var(--text-secondary); |
|
|
|
font-size: 1rem; |
|
|
|
} |
|
|
|
|
|
|
|
.message-container { |
|
|
|
max-height: 400px; |
|
|
|
overflow-y: auto; |
|
|
|
border: 1px solid var(--border-color); |
|
|
|
border-radius: 6px; |
|
|
|
background-color: white; |
|
|
@ -325,7 +342,9 @@ |
|
|
|
<div id="queryResult" class="result-container"> |
|
|
|
<h3>查询结果:</h3> |
|
|
|
<div class="query-result" id="resultText"></div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div id="processResult" class="result-container"> |
|
|
|
<h3>处理过程:</h3> |
|
|
|
<div id="messageStream" class="message-stream"> |
|
|
|
<div class="message-container" id="messageContainer"></div> |
|
|
@ -406,10 +425,10 @@ |
|
|
|
} |
|
|
|
container.appendChild(messageElement); |
|
|
|
|
|
|
|
// 确保结果容器是可见的 |
|
|
|
const resultContainer = document.getElementById('queryResult'); |
|
|
|
if (resultContainer && !resultContainer.classList.contains('visible')) { |
|
|
|
resultContainer.classList.add('visible'); |
|
|
|
// 确保处理过程容器是可见的 |
|
|
|
const processContainer = document.getElementById('processResult'); |
|
|
|
if (processContainer && !processContainer.classList.contains('visible')) { |
|
|
|
processContainer.classList.add('visible'); |
|
|
|
} |
|
|
|
|
|
|
|
// 滚动到底部 |
|
|
@ -425,10 +444,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
// 工具函数:显示结果 |
|
|
|
function showResult(message) { |
|
|
|
function showResult() { |
|
|
|
const resultElement = document.getElementById('queryResult'); |
|
|
|
const resultTextElement = document.getElementById('resultText'); |
|
|
|
resultTextElement.textContent = message; |
|
|
|
resultElement.classList.add('visible'); |
|
|
|
} |
|
|
|
|
|
|
@ -438,6 +455,18 @@ |
|
|
|
resultElement.classList.remove('visible'); |
|
|
|
} |
|
|
|
|
|
|
|
// 工具函数:显示处理过程 |
|
|
|
function showProcessResult() { |
|
|
|
const processElement = document.getElementById('processResult'); |
|
|
|
processElement.classList.add('visible'); |
|
|
|
} |
|
|
|
|
|
|
|
// 工具函数:隐藏处理过程 |
|
|
|
function hideProcessResult() { |
|
|
|
const processElement = document.getElementById('processResult'); |
|
|
|
processElement.classList.remove('visible'); |
|
|
|
} |
|
|
|
|
|
|
|
// 工具函数:转义HTML特殊字符 |
|
|
|
function escapeHtml(text) { |
|
|
|
const map = { |
|
|
@ -532,8 +561,7 @@ |
|
|
|
document.getElementById('resultText').textContent = message.content; |
|
|
|
showResult(); |
|
|
|
} |
|
|
|
// 同时添加到消息容器中 |
|
|
|
addMessageToContainer(message); |
|
|
|
// 不将answer消息添加到处理过程容器中,只显示在查询结果框中 |
|
|
|
break; |
|
|
|
default: |
|
|
|
console.log('Unknown message type:', message.type); |
|
|
@ -582,6 +610,7 @@ |
|
|
|
setButtonLoading(button, true); |
|
|
|
showStatus('loadStatus', '正在加载文件...', 'loading'); |
|
|
|
hideResult(); |
|
|
|
hideProcessResult(); |
|
|
|
|
|
|
|
try { |
|
|
|
const response = await fetch('/load-files/', { |
|
|
@ -649,6 +678,7 @@ |
|
|
|
setButtonLoading(button, true); |
|
|
|
showStatus('webLoadStatus', '正在加载网站内容...', 'loading'); |
|
|
|
hideResult(); |
|
|
|
hideProcessResult(); |
|
|
|
|
|
|
|
try { |
|
|
|
const response = await fetch('/load-website/', { |
|
|
@ -702,6 +732,7 @@ |
|
|
|
setButtonLoading(button, true); |
|
|
|
showStatus('queryStatus', '正在启动查询...', 'loading'); |
|
|
|
hideResult(); |
|
|
|
hideProcessResult(); |
|
|
|
|
|
|
|
// 清空消息容器 |
|
|
|
const container = document.getElementById('messageContainer'); |
|
|
|