feat(home): 更新首页布局并优化网站信息展示
- 移除首页业务板块服务卡片区域 - 为面板组件添加固定高度样式 - 更新底部关注我们区域的小程序二维码图片 - 将小程序描述从公众号/小程序调整为仅小程序 - 集成CMS系统获取网站备案号信息 - 优化头部品牌栏布局,使用固定Logo图片替换动态内容 - 移除品牌标题和副标题的显示 - 调整Logo样式移除宽度限制仅保留高度约束
This commit is contained in:
@@ -5,9 +5,9 @@
|
|||||||
<a-col :xs="24" :md="8">
|
<a-col :xs="24" :md="8">
|
||||||
<div class="text-base font-semibold text-white">关注我们</div>
|
<div class="text-base font-semibold text-white">关注我们</div>
|
||||||
<div class="mt-4 flex items-center gap-4">
|
<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">
|
<div class="text-sm leading-6 text-gray-400">
|
||||||
公众号/小程序
|
小程序
|
||||||
<br />
|
<br />
|
||||||
获取最新动态
|
获取最新动态
|
||||||
</div>
|
</div>
|
||||||
@@ -49,12 +49,27 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { getCmsWebsiteFieldByCode } from '@/api/cms/cmsWebsiteField'
|
||||||
|
|
||||||
const { data: siteInfo } = useSiteInfo()
|
const { data: siteInfo } = useSiteInfo()
|
||||||
const siteName = computed(() => String((siteInfo.value as any)?.data?.websiteName || '桂乐淘'))
|
const siteName = computed(() => String((siteInfo.value as any)?.data?.websiteName || '桂乐淘'))
|
||||||
const icpText = computed(() => {
|
|
||||||
const icp = (siteInfo.value as any)?.data?.icpNo
|
const { data: icpField } = useAsyncData('cms-website-field-icpNo', async () => {
|
||||||
return icp ? `备案号:${icp}` : '备案号:'
|
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()
|
const year = new Date().getFullYear()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -20,11 +20,7 @@
|
|||||||
<div v-if="showBrandbar" class="brandbar">
|
<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">
|
<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">
|
<NuxtLink to="/" class="col-span-12 flex items-center gap-4 md:col-span-6">
|
||||||
<img class="brand-logo" :src="logoUrl" :alt="siteName" />
|
<img class="brand-logo" :src="`https://oss.wsdns.cn/20260127/989e5cf82b0847ed9168023baf68f4a9.png`" :alt="siteName" />
|
||||||
<div class="brand-title">
|
|
||||||
<div class="brand-name">{{ siteName }}</div>
|
|
||||||
<div class="brand-sub">{{ siteSlogan }}</div>
|
|
||||||
</div>
|
|
||||||
</NuxtLink>
|
</NuxtLink>
|
||||||
|
|
||||||
<div class="col-span-12 text-right md:col-span-6">
|
<div class="col-span-12 text-right md:col-span-6">
|
||||||
@@ -320,7 +316,6 @@ const todayText = computed(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.brand-logo {
|
.brand-logo {
|
||||||
width: 62px;
|
|
||||||
height: 62px;
|
height: 62px;
|
||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
display: block;
|
display: block;
|
||||||
|
|||||||
@@ -95,42 +95,42 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-6 grid grid-cols-12 gap-6">
|
<!-- <div class="mt-6 grid grid-cols-12 gap-6">-->
|
||||||
<div class="col-span-12 lg:col-span-7">
|
<!-- <div class="col-span-12 lg:col-span-7">-->
|
||||||
<div class="panel">
|
<!-- <div class="panel">-->
|
||||||
<div class="section-pill">
|
<!-- <div class="section-pill">-->
|
||||||
<span class="pill-left">
|
<!-- <span class="pill-left">-->
|
||||||
<AppstoreOutlined />
|
<!-- <AppstoreOutlined />-->
|
||||||
业务板块
|
<!-- 业务板块-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
<span class="pill-right">SERVICES</span>
|
<!-- <span class="pill-right">SERVICES</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
<div class="mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2">
|
<!-- <div class="mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2">-->
|
||||||
<a-card
|
<!-- <a-card-->
|
||||||
v-for="s in services"
|
<!-- v-for="s in services"-->
|
||||||
:key="s.title"
|
<!-- :key="s.title"-->
|
||||||
class="guide-card service-card"
|
<!-- class="guide-card service-card"-->
|
||||||
:bordered="true"
|
<!-- :bordered="true"-->
|
||||||
hoverable
|
<!-- hoverable-->
|
||||||
@click="navigateTo('/products')"
|
<!-- @click="navigateTo('/products')"-->
|
||||||
>
|
<!-- >-->
|
||||||
<a-space>
|
<!-- <a-space>-->
|
||||||
<a-avatar :size="44" class="guide-icon service-icon">
|
<!-- <a-avatar :size="44" class="guide-icon service-icon">-->
|
||||||
<component :is="s.icon" />
|
<!-- <component :is="s.icon" />-->
|
||||||
</a-avatar>
|
<!-- </a-avatar>-->
|
||||||
<div>
|
<!-- <div>-->
|
||||||
<div class="guide-title">{{ s.title }}</div>
|
<!-- <div class="guide-title">{{ s.title }}</div>-->
|
||||||
<div class="guide-desc">{{ s.desc }}</div>
|
<!-- <div class="guide-desc">{{ s.desc }}</div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-space>
|
<!-- </a-space>-->
|
||||||
</a-card>
|
<!-- </a-card>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
|
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="banner">
|
<section class="banner">
|
||||||
@@ -314,6 +314,7 @@ function scrollToCompany() {
|
|||||||
|
|
||||||
.panel {
|
.panel {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
height: 360px;
|
||||||
border: 1px solid rgba(0, 0, 0, 0.06);
|
border: 1px solid rgba(0, 0, 0, 0.06);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 685 B |
Reference in New Issue
Block a user