feat(frontend): 实现新手引导功能
- 添加 Guide 组件和引导步骤配置 - 实现 useOnboardingTour 和 useTourStepDescription composables - 添加 onboarding store 管理引导状态 - 更新多个视图和组件以支持引导功能 - 添加国际化支持(中英文) - 删除旧的实现指南文档
This commit is contained in:
@@ -23,11 +23,34 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue'
|
||||
import '@/styles/onboarding.css'
|
||||
import { computed, onMounted } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useAppStore } from '@/stores'
|
||||
import { useAuthStore } from '@/stores/auth'
|
||||
import { useOnboardingTour } from '@/composables/useOnboardingTour'
|
||||
import { getAdminSteps, getUserSteps } from '@/components/Guide/steps'
|
||||
import { useOnboardingStore } from '@/stores/onboarding'
|
||||
import AppSidebar from './AppSidebar.vue'
|
||||
import AppHeader from './AppHeader.vue'
|
||||
|
||||
const appStore = useAppStore()
|
||||
const authStore = useAuthStore()
|
||||
const { t } = useI18n()
|
||||
const sidebarCollapsed = computed(() => appStore.sidebarCollapsed)
|
||||
const isAdmin = computed(() => authStore.user?.role === 'admin')
|
||||
|
||||
const { replayTour } = useOnboardingTour({
|
||||
steps: isAdmin.value ? getAdminSteps(t) : getUserSteps(t),
|
||||
storageKey: isAdmin.value ? 'admin_guide' : 'user_guide',
|
||||
autoStart: true
|
||||
})
|
||||
|
||||
const onboardingStore = useOnboardingStore()
|
||||
|
||||
onMounted(() => {
|
||||
onboardingStore.setReplayCallback(replayTour)
|
||||
})
|
||||
|
||||
defineExpose({ replayTour })
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user