diff --git a/frontend/src/components/RecipeDetailOverlay.vue b/frontend/src/components/RecipeDetailOverlay.vue index 4a6b9b6..38a560e 100644 --- a/frontend/src/components/RecipeDetailOverlay.vue +++ b/frontend/src/components/RecipeDetailOverlay.vue @@ -516,12 +516,19 @@ async function loadBrand() { } catch { brand.value = {} } - // Prompt QR upload at most once per month + // Prompt QR upload: logged-in users once per month, anonymous every time if (showBrandHint.value) { - const lastPrompt = localStorage.getItem('qr_upload_prompt_time') - const oneMonth = 30 * 24 * 60 * 60 * 1000 - if (!lastPrompt || Date.now() - Number(lastPrompt) > oneMonth) { - localStorage.setItem('qr_upload_prompt_time', String(Date.now())) + let shouldPrompt = true + if (authStore.isLoggedIn) { + const lastPrompt = localStorage.getItem('qr_upload_prompt_time') + const oneMonth = 30 * 24 * 60 * 60 * 1000 + if (lastPrompt && Date.now() - Number(lastPrompt) < oneMonth) { + shouldPrompt = false + } else { + localStorage.setItem('qr_upload_prompt_time', String(Date.now())) + } + } + if (shouldPrompt) { const ok = await showConfirm( '上传你的专属二维码,让配方卡片更专业 ✨', { okText: '去上传', cancelText: '下次再说' }