fix(首页): 修复入场动画期间滚动锁定问题

确保在 Lenis 加载完成前后都能正确锁定页面滚动
修复滚动锁定计数逻辑,避免重复操作
This commit is contained in:
2026-04-27 02:42:03 +08:00
parent 226dc5c147
commit ea9b7747e2
3 changed files with 21 additions and 7 deletions
+8
View File
@@ -1,6 +1,7 @@
<script setup lang="ts">
import { computed, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
import { useHead, useSeoMeta } from '#imports'
import { useUserStore } from '~/stores/user'
import { useAppStore } from '~/stores/app'
import { usePageScrollLock } from '~/composables/usePageScrollLock'
@@ -20,6 +21,13 @@ if (!userStore.isLoggedIn) {
userStore.loadDemoUser()
}
// 保证即使 Lenis 还没加载完成,也能通过原生 CSS 锁定页面
useHead({
htmlAttrs: {
class: computed(() => (isIntroActive.value ? 'is-home-intro-active' : '')),
},
})
// 使用组合式函数管理 Lenis 滚动锁定
usePageScrollLock(isIntroActive)