fix: 修复内容库显示问题
- 产品名称(product_names)不再自动填充为网页标题 - 内容库显示搜索标题(search_title)作为主标题 - 产品名称单独显示(如果有关联)
This commit is contained in:
@@ -102,15 +102,18 @@ class BackgroundTaskService:
|
|||||||
# 检查URL是否已存在
|
# 检查URL是否已存在
|
||||||
existing = db.search_articles(url)
|
existing = db.search_articles(url)
|
||||||
if not any(a.get('url') == url for a in existing):
|
if not any(a.get('url') == url for a in existing):
|
||||||
|
# 获取抓取到的网页标题
|
||||||
|
page_title = fetch_result.get('title', '') or title
|
||||||
|
|
||||||
article_id = db.add_article(
|
article_id = db.add_article(
|
||||||
product_names=[title],
|
product_names=[], # 产品名称留空,后续手动关联
|
||||||
category=category or '',
|
category=category or '',
|
||||||
keywords=keywords or [],
|
keywords=keywords or [],
|
||||||
summary=content[:200],
|
summary=content[:200],
|
||||||
content=content,
|
content=content,
|
||||||
source=url,
|
source=url,
|
||||||
url=url,
|
url=url,
|
||||||
search_title=title
|
search_title=title # 搜索结果的标题
|
||||||
)
|
)
|
||||||
if article_id:
|
if article_id:
|
||||||
saved_count += 1
|
saved_count += 1
|
||||||
|
|||||||
@@ -250,7 +250,7 @@
|
|||||||
color: #667eea;
|
color: #667eea;
|
||||||
}
|
}
|
||||||
|
|
||||||
.article-page-title {
|
.article-products {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #666;
|
color: #666;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@@ -259,7 +259,7 @@
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.article-page-title i {
|
.article-products i {
|
||||||
color: #4caf50;
|
color: #4caf50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ function displayArticles() {
|
|||||||
const productNames = safeParseJSON(article.product_names, []);
|
const productNames = safeParseJSON(article.product_names, []);
|
||||||
const keywords = safeParseJSON(article.keywords, []);
|
const keywords = safeParseJSON(article.keywords, []);
|
||||||
|
|
||||||
// 确定显示标题:优先 search_title,其次 product_names,最后来源
|
// 确定显示标题:优先 search_title(搜索标题),其次 product_names(产品名称),最后来源
|
||||||
const displayTitle = article.search_title || productNames.join(', ') || article.source || '未命名';
|
const displayTitle = article.search_title || productNames.join(', ') || article.source || '未命名';
|
||||||
|
|
||||||
return `
|
return `
|
||||||
@@ -133,9 +133,9 @@ function displayArticles() {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
${article.search_title && productNames.length > 0 && article.search_title !== productNames.join(', ') ? `
|
${productNames.length > 0 ? `
|
||||||
<div class="article-page-title">
|
<div class="article-products">
|
||||||
<i class="ri-article-line"></i> 网页标题: ${escapeHtml(productNames.join(', '))}
|
<i class="ri-price-tag-3-line"></i> 产品: ${escapeHtml(productNames.join(', '))}
|
||||||
</div>
|
</div>
|
||||||
` : ''}
|
` : ''}
|
||||||
<div class="article-meta">
|
<div class="article-meta">
|
||||||
|
|||||||
Reference in New Issue
Block a user