diff --git a/frontend/src/components/CrawlInfo.vue b/frontend/src/components/CrawlInfo.vue
index 6f0690d..a73be6d 100644
--- a/frontend/src/components/CrawlInfo.vue
+++ b/frontend/src/components/CrawlInfo.vue
@@ -26,14 +26,14 @@
-
- {{ row.error ? '出错' : (row.count > 0 ? '正常' : '无数据') }}
+
+ {{ row.error && row.error.trim() ? '出错' : (row.count > 0 ? '正常' : '无数据') }}
- {{ row.error }}
+ {{ row.error }}
-
@@ -100,7 +100,7 @@ const activeSources = computed(() => {
})
const errorSources = computed(() => {
- return crawlStats.value.filter(item => item.error).length
+ return crawlStats.value.filter(item => item.error && item.error.trim()).length
})
const formatDate = (dateStr: string | null) => {
diff --git a/src/bids/services/bid.service.ts b/src/bids/services/bid.service.ts
index 9e124ba..1dd01b8 100644
--- a/src/bids/services/bid.service.ts
+++ b/src/bids/services/bid.service.ts
@@ -143,7 +143,8 @@ export class BidsService {
count: item.count,
latestUpdate: item.latestUpdate,
latestPublishDate: item.latestPublishDate,
- error: item.error,
+ // 确保 error 字段正确处理:null 或空字符串都转换为 null,非空字符串保留
+ error: item.error && item.error.trim() !== '' ? item.error : null,
}));
}
}
diff --git a/src/crawler/entities/crawl-info-add.entity.ts b/src/crawler/entities/crawl-info-add.entity.ts
index e44695e..976ec97 100644
--- a/src/crawler/entities/crawl-info-add.entity.ts
+++ b/src/crawler/entities/crawl-info-add.entity.ts
@@ -15,7 +15,7 @@ export class CrawlInfoAdd {
latestPublishDate: Date | null;
@Column({ type: 'text', nullable: true })
- error: string;
+ error: string | null;
@CreateDateColumn()
createdAt: Date;
diff --git a/src/crawler/services/bid-crawler.service.ts b/src/crawler/services/bid-crawler.service.ts
index a59e06e..138e607 100644
--- a/src/crawler/services/bid-crawler.service.ts
+++ b/src/crawler/services/bid-crawler.service.ts
@@ -318,7 +318,8 @@ export class BidCrawlerService {
source,
count,
latestPublishDate,
- error,
+ // 确保 error 字段正确处理:undefined 或空字符串都转换为 null
+ error: error && error.trim() !== '' ? error : null,
});
await this.crawlInfoRepository.save(crawlInfo);
this.logger.log(`Saved crawl info for ${source}: ${count} items`);