2025-11-10 13:59:55 +08:00
|
|
|
<script setup>
|
|
|
|
|
import logoImg from '@/assets/logo.png'
|
|
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
size: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: 'medium', // small, medium, large
|
|
|
|
|
},
|
|
|
|
|
showAppName: {
|
|
|
|
|
type: Boolean,
|
|
|
|
|
default: false,
|
|
|
|
|
},
|
|
|
|
|
showSlogan: {
|
|
|
|
|
type: Boolean,
|
|
|
|
|
default: false,
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const sizeClasses = {
|
|
|
|
|
small: 'h-8',
|
|
|
|
|
medium: 'h-12',
|
|
|
|
|
large: 'h-16',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const textSizeClasses = {
|
|
|
|
|
small: 'text-xl',
|
|
|
|
|
medium: 'text-2xl',
|
|
|
|
|
large: 'text-3xl',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const sloganSizeClasses = {
|
|
|
|
|
small: 'text-xs',
|
|
|
|
|
medium: 'text-sm',
|
|
|
|
|
large: 'text-base',
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<div class="flex items-center gap-3">
|
2026-02-28 10:38:33 +08:00
|
|
|
<img :src="logoImg" alt="DataHub Logo" :class="['object-contain', sizeClasses[size]]" />
|
2025-11-10 13:59:55 +08:00
|
|
|
|
|
|
|
|
<div v-if="showAppName || showSlogan" class="flex flex-col">
|
|
|
|
|
<span
|
|
|
|
|
v-if="showAppName"
|
|
|
|
|
class="text-[#4da30d] font-bold leading-tight"
|
|
|
|
|
:class="textSizeClasses[size]"
|
|
|
|
|
>
|
2026-02-28 10:38:33 +08:00
|
|
|
DataHub
|
2025-11-10 13:59:55 +08:00
|
|
|
</span>
|
|
|
|
|
<span
|
|
|
|
|
v-if="showSlogan"
|
|
|
|
|
class="text-gray-600 leading-tight"
|
|
|
|
|
:class="sloganSizeClasses[size]"
|
|
|
|
|
>
|
|
|
|
|
数据管理平台
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|