From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/layout/components/AppView.vue | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/src/layout/components/AppView.vue b/src/layout/components/AppView.vue
new file mode 100644
index 0000000..df720a1
--- /dev/null
+++ b/src/layout/components/AppView.vue
@@ -0,0 +1,55 @@
+<script lang="ts" setup>
+import { useTagsViewStore } from '@/store/modules/tagsView'
+import { useAppStore } from '@/store/modules/app'
+import { Footer } from '@/layout/components/Footer'
+
+defineOptions({ name: 'AppView' })
+
+const appStore = useAppStore()
+
+const layout = computed(() => appStore.getLayout)
+
+const fixedHeader = computed(() => appStore.getFixedHeader)
+
+const footer = computed(() => appStore.getFooter)
+
+const tagsViewStore = useTagsViewStore()
+
+const getCaches = computed((): string[] => {
+ return tagsViewStore.getCachedViews
+})
+
+const tagsView = computed(() => appStore.getTagsView)
+
+//region 鏃犳劅鍒锋柊
+const routerAlive = ref(true)
+// 鏃犳劅鍒锋柊锛岄槻姝㈠嚭鐜伴〉闈㈤棯鐑佺櫧灞�
+const reload = () => {
+ routerAlive.value = false
+ nextTick(() => (routerAlive.value = true))
+}
+// 涓虹粍浠跺悗浠f彁渚涘埛鏂版柟娉�
+provide('reload', reload)
+//endregion
+</script>
+
+<template>
+ <section
+ :class="[
+ 'p-[var(--app-content-padding)] w-full bg-[var(--app-content-bg-color)] dark:bg-[var(--el-bg-color)]',
+ {
+ '!min-h-[calc(100vh-var(--top-tool-height)-var(--tags-view-height)-var(--app-footer-height))] pb-0':
+ footer
+ }
+ ]"
+ >
+ <router-view v-if="routerAlive">
+ <template #default="{ Component, route }">
+ <keep-alive :include="getCaches">
+ <component :is="Component" :key="route.fullPath" />
+ </keep-alive>
+ </template>
+ </router-view>
+ </section>
+ <Footer v-if="footer" />
+</template>
--
Gitblit v1.8.0