Merge branch 'master' of http://git.wisdompulse.cn/lukeye/kbsearch-extension
This commit is contained in:
commit
674fcb4bd5
@ -60,21 +60,25 @@ async function renderSources(sourceList, sources, jumpMap) {
|
||||
ul.style.listStyle = "disc";
|
||||
ul.style.fontSize = "14px";
|
||||
|
||||
// ====== 新增去重处理 ======
|
||||
const seen = new Set();
|
||||
for (const src of sources) {
|
||||
const url = jumpMap[src.title];
|
||||
const title = src.title || "未命名文档";
|
||||
const scoreText = (typeof src.score === "number") ? `(相似度:${(src.score * 100).toFixed(2)}%)` : "";
|
||||
|
||||
const key = title + "|" + (url || "");
|
||||
if (seen.has(key)) continue; // 跳过重复
|
||||
seen.add(key);
|
||||
|
||||
const li = document.createElement("li");
|
||||
li.style.marginBottom = "3px";
|
||||
li.style.lineHeight = "1.7";
|
||||
|
||||
let scoreText = "";
|
||||
if (typeof src.score === "number") {
|
||||
scoreText = `(相似度:${(src.score * 100).toFixed(2)}%)`;
|
||||
}
|
||||
|
||||
if (url) {
|
||||
const link = document.createElement("a");
|
||||
link.href = url;
|
||||
link.textContent = src.title || "未命名文档";
|
||||
link.textContent = title;
|
||||
link.target = "_blank";
|
||||
link.style.color = "#2560de";
|
||||
link.style.textDecoration = "none";
|
||||
@ -91,15 +95,18 @@ async function renderSources(sourceList, sources, jumpMap) {
|
||||
li.appendChild(scoreSpan);
|
||||
}
|
||||
} else {
|
||||
li.textContent = (src.title || "未命名文档") + (scoreText ? " " + scoreText : "");
|
||||
li.textContent = title + (scoreText ? " " + scoreText : "");
|
||||
li.style.color = "#666";
|
||||
}
|
||||
|
||||
ul.appendChild(li);
|
||||
}
|
||||
// ====== 去重处理结束 ======
|
||||
|
||||
sourceList.appendChild(ul);
|
||||
}
|
||||
|
||||
|
||||
// === 复制代码块功能 ===
|
||||
function wrapHtmlWithCopyBtn(html) {
|
||||
const wrapper = document.createElement('div');
|
||||
@ -184,6 +191,7 @@ function insertCopyFullAnswerBtn(msgBox, answerStr) {
|
||||
let refArr = [];
|
||||
const ul = msgBox.querySelector('.llm-sources ul');
|
||||
if (ul) {
|
||||
const seen = new Set();
|
||||
ul.querySelectorAll('li').forEach(li => {
|
||||
let link = li.querySelector('a');
|
||||
let title = link ? link.textContent : li.textContent;
|
||||
@ -191,7 +199,12 @@ function insertCopyFullAnswerBtn(msgBox, answerStr) {
|
||||
// 分值(span)
|
||||
let scoreSpan = li.querySelector('span');
|
||||
let scoreText = scoreSpan ? scoreSpan.textContent : "";
|
||||
// 标识唯一性用 title+url
|
||||
let key = title + '|' + url;
|
||||
if (!seen.has(key)) {
|
||||
refArr.push(`- [${title}](${url})${scoreText}`);
|
||||
seen.add(key);
|
||||
}
|
||||
});
|
||||
}
|
||||
let refText = "";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user