perf: 支持页脚自定义

This commit is contained in:
xiaojunnuo
2026-04-29 00:07:20 +08:00
parent 64b3184b28
commit c985a13544
13 changed files with 35 additions and 9 deletions
@@ -21,6 +21,7 @@ import { LayoutFooter } from "./footer";
import { LayoutHeader } from "./header";
import { LayoutExtraMenu, LayoutMenu, LayoutMixedMenu, useExtraMenu, useMixedMenu } from "./menu";
import { LayoutTabbar } from "./tabbar";
import router from "/@/router";
defineOptions({ name: "BasicLayout" });
@@ -160,7 +161,7 @@ const headerSlots = computed(() => {
>
<!-- logo -->
<template #logo>
<VbenLogo v-if="preferences.logo.enable" :class="logoClass" :collapsed="logoCollapsed" :src="preferences.logo.source" :text="preferences.app.name" :theme="showHeaderNav ? headerTheme : theme" />
<VbenLogo v-if="preferences.logo.enable" class="pointer" :class="logoClass" :collapsed="logoCollapsed" :src="preferences.logo.source" :text="preferences.app.name" :theme="showHeaderNav ? headerTheme : theme" />
</template>
<!-- 头部区域 -->
<template #header>
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { VbenAvatar } from "../avatar";
import { useRouter } from "vue-router";
interface Props {
/**
* @zh_CN 是否收起文本
@@ -39,10 +39,15 @@ withDefaults(defineProps<Props>(), {
src: "",
theme: "light",
});
const router = useRouter();
function handleLogoClick() {
router.push({ path: "/" });
}
</script>
<template>
<div :class="theme" class="flex h-full items-center text-lg">
<div :class="theme" class="flex h-full items-center text-lg pointer" @click="handleLogoClick">
<a :class="$attrs.class" :href="href" class="flex h-full items-center gap-2 overflow-hidden px-3 text-lg leading-normal transition-all duration-500">
<VbenAvatar v-if="src" :alt="text" :src="src" class="relative w-8 rounded-none bg-transparent" />
<span v-if="!collapsed" class="text-foreground truncate text-nowrap font-semibold">