feat(home): 更新首页布局并优化网站信息展示

- 移除首页业务板块服务卡片区域
- 为面板组件添加固定高度样式
- 更新底部关注我们区域的小程序二维码图片
- 将小程序描述从公众号/小程序调整为仅小程序
- 集成CMS系统获取网站备案号信息
- 优化头部品牌栏布局,使用固定Logo图片替换动态内容
- 移除品牌标题和副标题的显示
- 调整Logo样式移除宽度限制仅保留高度约束
This commit is contained in:
2026-01-27 12:32:34 +08:00
parent d533ed51b7
commit 1d01294f93
4 changed files with 55 additions and 44 deletions

View File

@@ -5,9 +5,9 @@
<a-col :xs="24" :md="8">
<div class="text-base font-semibold text-white">关注我们</div>
<div class="mt-4 flex items-center gap-4">
<a-avatar shape="square" :size="96" />
<a-avatar shape="square" :size="96" src="https://oss.wsdns.cn/20260127/74041127623e4a8faa49a24e0818dae6.png" />
<div class="text-sm leading-6 text-gray-400">
公众号/小程序
小程序
<br />
获取最新动态
</div>
@@ -49,12 +49,27 @@
</template>
<script setup lang="ts">
import { getCmsWebsiteFieldByCode } from '@/api/cms/cmsWebsiteField'
const { data: siteInfo } = useSiteInfo()
const siteName = computed(() => String((siteInfo.value as any)?.data?.websiteName || '桂乐淘'))
const icpText = computed(() => {
const icp = (siteInfo.value as any)?.data?.icpNo
return icp ? `备案号:${icp}` : '备案号:'
const { data: icpField } = useAsyncData('cms-website-field-icpNo', async () => {
try {
return await getCmsWebsiteFieldByCode('icpNo')
} catch {
return null
}
})
const icpNo = computed(() => {
const v = icpField.value?.value ?? icpField.value?.defaultValue
if (typeof v === 'string' && v.trim()) return v.trim()
const fallback = (siteInfo.value as any)?.data?.icpNo
return typeof fallback === 'string' ? fallback.trim() : ''
})
const icpText = computed(() => (icpNo.value ? `备案号:${icpNo.value}` : '备案号:'))
const year = new Date().getFullYear()
</script>

View File

@@ -20,11 +20,7 @@
<div v-if="showBrandbar" class="brandbar">
<div class="mx-auto grid max-w-screen-xl grid-cols-12 items-center gap-6 px-4 py-8">
<NuxtLink to="/" class="col-span-12 flex items-center gap-4 md:col-span-6">
<img class="brand-logo" :src="logoUrl" :alt="siteName" />
<div class="brand-title">
<div class="brand-name">{{ siteName }}</div>
<div class="brand-sub">{{ siteSlogan }}</div>
</div>
<img class="brand-logo" :src="`https://oss.wsdns.cn/20260127/989e5cf82b0847ed9168023baf68f4a9.png`" :alt="siteName" />
</NuxtLink>
<div class="col-span-12 text-right md:col-span-6">
@@ -320,7 +316,6 @@ const todayText = computed(() => {
}
.brand-logo {
width: 62px;
height: 62px;
object-fit: contain;
display: block;