From bdfe79c92102e1ce389791c587623c50c2847c89 Mon Sep 17 00:00:00 2001 From: liangxu Date: Thu, 25 Jun 2026 01:52:26 +0800 Subject: [PATCH] Preserve publish record history --- .../src/components/ArticleDetailDrawer.vue | 38 +++++++++++++ .../src/components/ArticlePublishStatus.vue | 55 +++++++++++++++++-- .../src/views/PublishManagementView.vue | 37 ------------- packages/shared-types/src/index.ts | 1 + server/internal/tenant/app/media_service.go | 40 +++++++++++--- .../tenant/app/publish_job_service.go | 5 +- .../tenant/app/publish_job_service_test.go | 10 +++- .../tenant/app/publish_record_support_test.go | 28 ++++++++++ 8 files changed, 162 insertions(+), 52 deletions(-) diff --git a/apps/admin-web/src/components/ArticleDetailDrawer.vue b/apps/admin-web/src/components/ArticleDetailDrawer.vue index e6ca77e..9004d83 100644 --- a/apps/admin-web/src/components/ArticleDetailDrawer.vue +++ b/apps/admin-web/src/components/ArticleDetailDrawer.vue @@ -112,6 +112,12 @@ const publishRecordColumns = computed>(() => [ key: 'published_at', width: 168, }, + { + title: '错误信息', + dataIndex: 'error_message', + key: 'error_message', + width: 220, + }, { title: t('media.records.link'), dataIndex: 'external_article_url', @@ -249,6 +255,18 @@ function shouldShowClientManageHint(record: PublishRecord): boolean { ) } +function publishRecordError(record: PublishRecord): string { + return record.error_message?.trim() || '' +} + +function publishRecordErrorPreview(record: PublishRecord): string { + const error = publishRecordError(record).replace(/\s+/g, ' ') + if (error.length <= 52) { + return error + } + return `${error.slice(0, 44)}...${error.slice(-5)}` +} + async function copyPublishLink(record: PublishRecord): Promise { const target = resolvePublishLink(record) if (!target) { @@ -399,6 +417,14 @@ async function copyPublishLink(record: PublishRecord): Promise { +