feat: 完善模块引导与学习进度体验

统一引导提示的持久化控制,补充学习进度入口与模块资源,避免用户返回页面时重复触发提示。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
zhongyidianandClaude Opus 4.7 committed 2026-05-08 09:44:59 +08:00
1 parent fc9633f371
commit 6f8252472f
114 files changed
+2758 -1798

No files matched your search

+9 -12
View File
@@ -1,7 +1,7 @@
<script lang="tsx" name="FilmWork" setup>
defineOptions({ name: 'FilmWork' })
import { ref, computed } from 'vue'
import { getBackgroundImage, IMAGE_PATHS, getStaticImage } from '@/utils'
import { getBackgroundImage, IMAGE_PATHS, getStaticImage, getPublicPath } from '@/utils'
import { ImgButton } from '@/components/Button'
import WorkSideSwitcher from './components/WorkSideSwitcher.vue'
import { GuideSteps, GuideStepsItem } from '@/components/Guide'
@@ -50,9 +50,7 @@ const currentItem = computed(() => {
return sideSwitcherItems.value.find(item => item.key === selected.value)
})
const currentHighlight = computed(() =>
stepIndex.value === 0 ? '.img-switch-item--case' : '.work-border'
)
const currentHighlight = computed(() => (stepIndex.value === 2 ? '.work-border' : null))
const handleStepChange = (_: any, index: number) => {
stepIndex.value = index
@@ -194,15 +192,14 @@ function openImages(urls: string[], startIndex = 0) {
@skip="handleGuideComplete"
position-offset-y="85%"
>
<GuideStepsItem>
点击右侧【案例赏析】、【专业剖析】、【思路提点】,可以切换不同内容
<GuideStepsItem :audio-src="getPublicPath('audio/py_4_001.MP3')">
你是否也听过这样的评价——“这个镜头,看起来很高级。”
</GuideStepsItem>
<GuideStepsItem>
<div class="flex items-center justify-start">
请点击 &nbsp;
<img class="w-16" :src="getStaticImage('film/sx')" alt="" />
&nbsp;,进入案例赏析!
</div>
<GuideStepsItem :audio-src="getPublicPath('audio/py_4_002.MP3')">
但所谓高级感,到底来自哪里?
</GuideStepsItem>
<GuideStepsItem :audio-src="getPublicPath('audio/py_4_003.MP3')">
带着这个问题,我们一起来看看“钟表博物馆”的案例,看看普通画面是如何被赋予质感与故事感的。
</GuideStepsItem>
</GuideSteps>