fix(summer-camp): 核心体验卡片兼容对象格式({name,desc,icon})

这个提交包含在:
wx 2026-04-17 13:28:30 +08:00
父节点 6b9c0a6c41
当前提交 fcac8f88db

查看文件

@ -152,7 +152,11 @@
<div class="activities-grid"> <div class="activities-grid">
<div v-for="(activity, i) in camp.coreActivities" :key="i" class="activity-card"> <div v-for="(activity, i) in camp.coreActivities" :key="i" class="activity-card">
<div class="activity-index">{{ String(i + 1).padStart(2, '0') }}</div> <div class="activity-index">{{ String(i + 1).padStart(2, '0') }}</div>
<p class="activity-text">{{ activity }}</p> <template v-if="activity && typeof activity === 'object'">
<h3 class="activity-name">{{ activity.name || activity.title }}</h3>
<p v-if="activity.desc" class="activity-text">{{ activity.desc }}</p>
</template>
<p v-else class="activity-text">{{ activity }}</p>
</div> </div>
</div> </div>
</div> </div>
@ -492,6 +496,13 @@ const campFAQ = computed(() => camp.value?.faq || [])
color: @color-primary-lighter; color: @color-primary-lighter;
} }
.activity-name {
font-size: @font-size-lg;
font-weight: @font-weight-medium;
color: @color-text-primary;
margin: 0 0 @space-xs 0;
}
.activity-text { .activity-text {
font-size: @font-size-base; font-size: @font-size-base;
color: @color-text-secondary; color: @color-text-secondary;