diff --git a/frontend/components/wrapped/cards/Card07BentoSummary.vue b/frontend/components/wrapped/cards/Card07BentoSummary.vue index 9d6e6ec..38713b9 100644 --- a/frontend/components/wrapped/cards/Card07BentoSummary.vue +++ b/frontend/components/wrapped/cards/Card07BentoSummary.vue @@ -515,16 +515,26 @@ >👍 - - {{ topUnicodeEmoji }} - + +
- 使用了 {{ formatInt(topUnicodeEmojiCount) }} 次 + 使用了 {{ formatInt(topEmojiCount) }}
@@ -1069,6 +1079,42 @@ watch( const topUnicodeEmoji = computed(() => String(snapshot.value?.topUnicodeEmoji || '😀')) const topUnicodeEmojiCount = computed(() => Number(snapshot.value?.topUnicodeEmojiCount || 0)) +const topEmoji = computed(() => { + const o = snapshot.value?.topEmoji + return o && typeof o === 'object' ? o : null +}) +const topEmojiKind = computed(() => String(topEmoji.value?.kind || '').trim()) +const topEmojiLabel = computed(() => { + if (topEmoji.value) { + if (topEmojiKind.value === 'wechat') { + const key = String(topEmoji.value?.key || '').trim() + if (key) return key + } else if (topEmojiKind.value === 'unicode') { + const emo = String(topEmoji.value?.emoji || '').trim() + if (emo) return emo + } + } + return topUnicodeEmoji.value +}) +const topEmojiCount = computed(() => { + if (topEmoji.value) { + const n = Number(topEmoji.value?.count || 0) + return Number.isFinite(n) ? n : 0 + } + return topUnicodeEmojiCount.value +}) +const topEmojiAssetPath = computed(() => { + if (!topEmoji.value || topEmojiKind.value !== 'wechat') return '' + return resolveMediaUrl(topEmoji.value?.assetPath || '') +}) +watch( + topEmojiAssetPath, + () => { + broken.topEmoji = false + }, + { immediate: true } +) + const rawMonthly = computed(() => (Array.isArray(snapshot.value?.monthlyBestBuddies) ? snapshot.value.monthlyBestBuddies : [])) const monthlyNormalized = computed(() => { const byMonth = new Map() diff --git a/frontend/pages/wrapped/index.vue b/frontend/pages/wrapped/index.vue index 343fb6a..ec667dc 100644 --- a/frontend/pages/wrapped/index.vue +++ b/frontend/pages/wrapped/index.vue @@ -105,7 +105,7 @@ :style="slideStyle" >