新增搜索标题和网页标题双字段

- 数据库新增 search_title 字段存储搜索结果标题
- product_names 存储抓取到的网页标题
- 搜索页面显示两个标题(搜索标题 + 网页标题)
- 内容库页面也显示两个标题
This commit is contained in:
2026-07-14 00:00:50 +08:00
parent d23d526629
commit 76e24c4fa3
7 changed files with 57 additions and 10 deletions
+13
View File
@@ -228,6 +228,19 @@
font-size: 12px;
}
.article-search-title {
font-size: 13px;
color: #666;
margin-bottom: 10px;
padding: 4px 8px;
background: #f0f4ff;
border-radius: 4px;
}
.article-search-title i {
color: #667eea;
}
.article-summary {
font-size: 14px;
color: #666;
+13
View File
@@ -268,6 +268,19 @@
color: #667eea;
}
.result-page-title {
font-size: 13px;
color: #666;
margin-bottom: 5px;
padding: 4px 8px;
background: #f0f4ff;
border-radius: 4px;
}
.result-page-title i {
color: #667eea;
}
.result-title .saved-icon {
color: #10b981;
}
+5
View File
@@ -118,6 +118,11 @@ function displayArticles() {
</button>
</div>
</div>
${article.search_title && article.search_title !== productNames.join(', ') ? `
<div class="article-search-title">
<i class="ri-search-line"></i> 搜索标题: ${escapeHtml(article.search_title)}
</div>
` : ''}
<div class="article-meta">
${article.category ? `<span class="article-category">${escapeHtml(article.category)}</span>` : ''}
<span><i class="ri-link"></i> ${escapeHtml(article.source || '未知来源')}</span>
+8 -2
View File
@@ -135,6 +135,11 @@ function displayResults() {
${r.saved ? '<i class="ri-check-line saved-icon"></i>' : ''}
${escapeHtml(r.title)}
</div>
${r.pageTitle && r.pageTitle !== r.title ? `
<div class="result-page-title">
<i class="ri-article-line"></i> 网页标题: ${escapeHtml(r.pageTitle)}
</div>
` : ''}
<div class="result-url">
<a href="${escapeHtml(r.url)}" target="_blank">
<i class="ri-external-link-line"></i>
@@ -207,7 +212,8 @@ async function fetchResult(index) {
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
url: result.url,
product_names: [result.title]
product_names: [result.title],
search_title: result.title // 搜索结果的标题
})
});
@@ -216,7 +222,7 @@ async function fetchResult(index) {
if (data.success) {
searchResults[index].fetched = true;
searchResults[index].content = data.data.content;
searchResults[index].title = data.data.title || result.title;
searchResults[index].pageTitle = data.data.title || result.title; // 抓取到的标题
btn.innerHTML = '<i class="ri-check-line"></i> 已抓取';