diff --git a/src/App.vue b/src/App.vue index 093a367..34ecd9c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,8 +2,11 @@ import { ref, watchEffect, provide, onMounted } from 'vue' import { RouterView } from 'vue-router' import ThemeToggle from './components/ThemeToggle.vue' +import { useRouter } from 'vue-router' const isDarkMode = ref(false) +const isLoading = ref(false) +const router = useRouter() // 检查系统颜色模式 const checkSystemColorScheme = () => { @@ -38,13 +41,28 @@ watchEffect(() => { document.documentElement.classList.toggle('dark', isDarkMode.value) }) +router.beforeEach((to, from, next) => { + isLoading.value = true + next() +}) + +router.afterEach(() => { + setTimeout(() => { + isLoading.value = false + }, 200) // 添加一个小延迟,以确保组件已加载 +}) + provide('isDarkMode', isDarkMode) provide('setColorMode', setColorMode) +provide('isLoading', isLoading) \ No newline at end of file