From e55d0d00c02cf699b6e518223b3bc1043b535eb7 Mon Sep 17 00:00:00 2001 From: douboer Date: Wed, 11 Feb 2026 19:39:59 +0800 Subject: [PATCH] update at 2026-02-11 19:39:59 --- frontend/src/components/SvgPreview.vue | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/SvgPreview.vue b/frontend/src/components/SvgPreview.vue index a12c0d0..c9b6de5 100644 --- a/frontend/src/components/SvgPreview.vue +++ b/frontend/src/components/SvgPreview.vue @@ -69,6 +69,10 @@ const visiblePreviewItems = computed(() => { return previewItems.value.slice(0, renderedPreviewCount.value) }) +const hasRenderableInput = computed(() => { + return inputText.value.trim() !== '' && activePreviewFonts.value.length > 0 +}) + const previewTriggerIndex = computed(() => { if (!hasMorePreviewItems.value || visiblePreviewItems.value.length <= 0) { return -1 @@ -470,6 +474,8 @@ async function regeneratePreviews() { if (!inputText.value || inputText.value.trim() === '' || nextPreviewFonts.length === 0) { isGenerating.value = false + isBatchGenerating.value = false + batchOwnerToken = null return } @@ -477,6 +483,14 @@ async function regeneratePreviews() { try { await loadNextPreviewBatch(generationToken) + if ( + !isStaleGeneration(generationToken) && + previewItems.value.length === 0 && + processedFontCount.value < activePreviewFonts.value.length && + !isBatchGenerating.value + ) { + await loadNextPreviewBatch(generationToken) + } if ( !isStaleGeneration(generationToken) && previewItems.value.length === 0 && @@ -571,9 +585,9 @@ defineExpose({ previewErrorMessage ? previewErrorMessage : ( - inputText.trim() === '' || previewFonts.length === 0 + inputText.trim() === '' || activePreviewFonts.length === 0 ? '请选择字体并输入内容' - : '暂无可显示预览' + : (hasRenderableInput ? '暂无可显示预览' : '请选择字体并输入内容') ) ) }}