From 10565af0014fc59f969b4899c2a3f2e79be3a08f Mon Sep 17 00:00:00 2001 From: dmy Date: Wed, 14 Jan 2026 21:33:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=AD=97=E6=AE=B5=E7=9A=84=E7=A9=BA=E5=80=BC?= =?UTF-8?q?=E5=92=8C=E7=A9=BA=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新多个文件以确保错误信息字段在处理时将空字符串和未定义值转换为null,增强数据一致性和展示逻辑。包括前端组件和后端服务的相应调整。 --- frontend/src/components/CrawlInfo.vue | 8 ++++---- src/bids/services/bid.service.ts | 3 ++- src/crawler/entities/crawl-info-add.entity.ts | 2 +- src/crawler/services/bid-crawler.service.ts | 3 ++- 4 files changed, 9 insertions(+), 7 deletions(-) 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 @@ @@ -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`);