2023-12-21 16:42:39 +08:00
|
|
|
<template>
|
|
|
|
|
<div class="layout-logo">
|
2024-12-17 20:57:07 +08:00
|
|
|
<img v-if="!config.layout.menuCollapse" class="logo-img" :src="getTheme.logoUrl" />
|
|
|
|
|
<!-- <div-->
|
|
|
|
|
<!-- v-if="!config.layout.menuCollapse"-->
|
|
|
|
|
<!-- :style="{ color: config.getColorVal('menuActiveColor') }"-->
|
|
|
|
|
<!-- class="website-name"-->
|
|
|
|
|
<!-- >-->
|
|
|
|
|
<!-- 灿能-->
|
|
|
|
|
<!-- </div>-->
|
2023-12-21 16:42:39 +08:00
|
|
|
<Icon
|
|
|
|
|
v-if="config.layout.layoutMode != 'Streamline'"
|
|
|
|
|
@click="onMenuCollapse"
|
2023-12-27 15:06:57 +08:00
|
|
|
:name="config.layout.menuCollapse ? 'el-icon-Expand' : 'el-icon-Fold'"
|
2023-12-21 16:42:39 +08:00
|
|
|
:class="config.layout.menuCollapse ? 'unfold' : ''"
|
|
|
|
|
:color="config.getColorVal('menuActiveColor')"
|
2024-12-17 20:57:07 +08:00
|
|
|
style="margin: 15px;"
|
2023-12-21 16:42:39 +08:00
|
|
|
size="18"
|
|
|
|
|
class="fold"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { useConfig } from '@/stores/config'
|
|
|
|
|
import { closeShade } from '@/utils/pageShade'
|
|
|
|
|
import { Session } from '@/utils/storage'
|
|
|
|
|
import { setNavTabsWidth } from '@/utils/layout'
|
|
|
|
|
|
|
|
|
|
const config = useConfig()
|
2024-12-17 20:57:07 +08:00
|
|
|
const getTheme = JSON.parse(window.localStorage.getItem('getTheme') as string)
|
2023-12-21 16:42:39 +08:00
|
|
|
const onMenuCollapse = function () {
|
|
|
|
|
if (config.layout.shrink && !config.layout.menuCollapse) {
|
|
|
|
|
closeShade()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
config.setLayout('menuCollapse', !config.layout.menuCollapse)
|
|
|
|
|
|
|
|
|
|
// 等待侧边栏动画结束后重新计算导航栏宽度
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
setNavTabsWidth()
|
|
|
|
|
}, 350)
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
.layout-logo {
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
box-sizing: border-box;
|
2024-12-17 20:57:07 +08:00
|
|
|
padding: 5px 10px;
|
2023-12-21 16:42:39 +08:00
|
|
|
background: v-bind(
|
|
|
|
|
'config.layout.layoutMode != "Streamline" ? config.getColorVal("menuTopBarBackground"):"transparent"'
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
.logo-img {
|
2024-12-17 20:57:07 +08:00
|
|
|
height: 50px;
|
2023-12-27 15:06:57 +08:00
|
|
|
object-fit: cover;
|
2024-12-17 20:57:07 +08:00
|
|
|
margin: auto;
|
2023-12-21 16:42:39 +08:00
|
|
|
}
|
|
|
|
|
.website-name {
|
|
|
|
|
display: block;
|
|
|
|
|
width: 180px;
|
|
|
|
|
padding-left: 4px;
|
|
|
|
|
font-size: var(--el-font-size-extra-large);
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
|
|
|
|
.fold {
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
}
|
|
|
|
|
.unfold {
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
}
|
|
|
|
|
</style>
|