Files
cz-web/src/components/AppFooter.vue
2026-10-13 15:20:51 +08:00

189 lines
4.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script setup lang="ts">
import { useSiteStore } from '@/stores/modules/site'
const siteStore = useSiteStore()
const quickLinks = [
{ label: '首页', path: '/' },
{ label: '案例中心', path: '/cases' },
{ label: '需求提报', path: '/demand' },
{ label: '下载 APP', path: '/' },
{ label: '帮助中心', path: '/profile/help' },
]
const coreBusiness = [
'互联网软件开发',
'硬件电路开发',
'物联网软硬一体化全案',
'PCB 制版 & SMT 贴片生产',
'元器件集采与整机装配',
]
</script>
<template>
<footer class="app-footer">
<div class="app-footer__inner">
<div class="app-footer__about">
<div class="app-footer__brand">
<span class="app-footer__name">虫子智造</span>
</div>
<p class="app-footer__desc">
研发智造一体化自营平台,打通研发‑仿真‑设计‑PCB‑SMT‑整机装配‑售后迭代全链路,为科技企业、硬件厂商、创客团队提供软硬一体化定制与量产落地服务。平台自营不开放第三方服务商入驻,对项目质量全权兜底。
</p>
</div>
<div class="app-footer__col app-footer__col--core">
<h4 class="app-footer__title">核心业务</h4>
<span
v-for="item in coreBusiness"
:key="item"
class="app-footer__link"
>{{ item }}</span
>
</div>
<div class="app-footer__col app-footer__col--nav">
<h4 class="app-footer__title">快速导航</h4>
<RouterLink
v-for="link in quickLinks"
:key="link.label"
:to="link.path"
class="app-footer__link"
>
{{ link.label }}
</RouterLink>
</div>
<div class="app-footer__col app-footer__col--contact">
<h4 class="app-footer__title">联系我们</h4>
<span class="app-footer__contact"
>商务合作:{{ siteStore.siteInfo.businessEmail }}</span
>
<span class="app-footer__contact"
>技术支持:{{ siteStore.siteInfo.supportEmail }}</span
>
<span class="app-footer__contact"
>客服热线:{{ siteStore.siteInfo.hotline }}</span
>
<span class="app-footer__contact"
>工作时间:{{ siteStore.siteInfo.workTime }}</span
>
</div>
</div>
<div class="app-footer__bottom">
<p class="app-footer__legal">
©2026 虫子智造 研发智造一体化平台
版权所有|自营研发生产平台,所有项目源码、图纸受平台知识产权保护,禁止盗用、复制、二次分发
</p>
<p class="app-footer__legal app-footer__legal--icp">
{{ siteStore.siteInfo.icp }} | {{ siteStore.siteInfo.police }}
</p>
</div>
</footer>
</template>
<style lang="less" scoped>
.app-footer {
background: @footer-bg;
color: @white;
padding: @spacing-xl 0 @spacing-base;
&__inner {
.flex(row, space-between, flex-start);
flex-wrap: wrap;
gap: @spacing-xl;
width: 100%;
max-width: @page-content;
margin: 0 auto;
box-sizing: border-box;
padding: 0 @page-gutter;
}
&__about {
flex: 0 1 360px;
max-width: 420px;
min-width: 0;
}
&__brand {
.flex(row, flex-start);
margin-bottom: @spacing-sm;
}
&__name {
font-size: @font-size-lg;
font-weight: 500;
line-height: 1.4;
color: @white;
}
&__desc {
margin: 0;
font-size: @font-size-sm;
font-weight: 400;
line-height: 1.6;
color: fade(@white, 72%);
}
&__col {
.flex(column, flex-start, flex-start);
gap: 2px;
flex: 0 0 auto;
min-width: 0;
}
&__title {
margin: 0 0 @spacing-sm;
font-size: @font-size-base;
font-weight: 500;
line-height: 1.4;
white-space: nowrap;
color: @white;
}
&__link {
font-size: @font-size-sm;
font-weight: 400;
line-height: 1.7;
white-space: nowrap;
cursor: pointer;
transition: color 0.2s;
color: fade(@white, 72%);
&:hover {
color: @primary-light;
}
}
&__contact {
font-size: @font-size-sm;
font-weight: 400;
line-height: 1.7;
color: fade(@white, 72%);
}
&__bottom {
width: 100%;
max-width: @page-content;
margin: @spacing-lg auto 0;
padding: @spacing-base @page-gutter 0;
border-top: 1px solid fade(@white, 10%);
text-align: center;
box-sizing: border-box;
}
&__legal {
margin: 0;
font-size: @font-size-xs;
font-weight: 400;
line-height: 1.6;
color: fade(@white, 55%);
&--icp {
margin-top: @spacing-xs;
}
}
}
</style>