更新website后端

This commit is contained in:
2026-09-15 00:08:36 +08:00
parent 7e6a3e969f
commit 9875832019
30 changed files with 1428 additions and 38 deletions
+40 -8
View File
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { footerColumns, policyLinks, siteInfo } from "@/config/site";
import { footerColumns, isExternalLink, policyLinks, siteInfo } from "@/config/site";
</script>
<template>
@@ -8,8 +8,19 @@ import { footerColumns, policyLinks, siteInfo } from "@/config/site";
<!-- 品牌与联系方式 -->
<div class="footer-brand">
<RouterLink to="/" class="footer-brand__logo">
<span class="footer-brand__mark">{{ siteInfo.brandMark }}</span>
<span class="footer-brand__name">{{ siteInfo.fullName }}</span>
<!-- 站点设置 - 浅色 Logo({yz:logow}),未配置时回退品牌文字标记 -->
<img
v-if="siteInfo.logoLight"
:src="siteInfo.logoLight"
:alt="siteInfo.brandName"
class="footer-brand__logo-img"
/>
<template v-else>
<span class="footer-brand__mark">{{ siteInfo.brandMark }}</span>
<span class="footer-brand__name">{{
siteInfo.fullName || siteInfo.brandName
}}</span>
</template>
</RouterLink>
<ul class="footer-info">
@@ -17,9 +28,12 @@ import { footerColumns, policyLinks, siteInfo } from "@/config/site";
<span>地址</span>{{ siteInfo.address }}(邮编
{{ siteInfo.postalCode }})
</li>
<li>
<span>备案</span>京ICP备 00000000 号-1 | 京公网安备
11010800000000 号
<!-- 站点设置 - ICP 备案({yz:icp})与公安备案({yz:policeicp}) -->
<li v-if="siteInfo.icp || siteInfo.policeIcp">
<span>备案</span>
{{ siteInfo.icp }}
<template v-if="siteInfo.icp && siteInfo.policeIcp"> | </template>
{{ siteInfo.policeIcp }}
</li>
<li>
<span>联系</span>服务热线:{{ siteInfo.phone }} · 商务合作:{{
@@ -48,12 +62,22 @@ import { footerColumns, policyLinks, siteInfo } from "@/config/site";
<div class="site-footer__bottom">
<div class="container site-footer__bottom-inner">
<p class="copyright">{{ siteInfo.copyright }}</p>
<!-- 站点设置 - ICP 备案号:标签模式,{yz:icp} 由 v-yz 指令替换为站点设置中的值 -->
<p class="copyright" v-yz>{yz:icp}</p>
<div class="footer-end">
<ul class="policy-links">
<li v-for="link in policyLinks" :key="link.path">
<RouterLink :to="link.path">{{ link.label }}</RouterLink>
<!-- 站点设置 - 隐私政策({yz:privacy})/ 使用条款({yz:terms}),可能为站外完整 URL -->
<a
v-if="isExternalLink(link.path)"
:href="link.path"
target="_blank"
rel="noopener"
>
{{ link.label }}
</a>
<RouterLink v-else :to="link.path">{{ link.label }}</RouterLink>
</li>
</ul>
@@ -204,6 +228,14 @@ import { footerColumns, policyLinks, siteInfo } from "@/config/site";
margin-bottom: 26px;
}
/* 站点设置下发的浅色 Logo {yz:logow} */
&__logo-img {
height: 38px;
width: auto;
max-width: 210px;
object-fit: contain;
}
&__mark {
display: flex;
align-items: center;
+20 -3
View File
@@ -48,10 +48,19 @@ watch(
<div class="header-main">
<div class="container header-main__inner">
<RouterLink to="/" class="brand" aria-label="返回首页">
<span class="brand__mark">{{ siteInfo.brandMark }}</span>
<!-- 站点设置 - 深色 Logo({yz:logo}),未配置时回退品牌文字标记 -->
<img
v-if="siteInfo.logoDark"
:src="siteInfo.logoDark"
:alt="siteInfo.brandName"
class="brand__logo"
/>
<span v-else class="brand__mark">{{ siteInfo.brandMark }}</span>
<span class="brand__text">
<!-- 站点设置 - 站点名称({yz:sitename}) -->
<strong>{{ siteInfo.brandName }}</strong>
<em>{{ siteInfo.brandSub }}</em>
<!-- 站点设置 - 副标题({yz:subtitle}) -->
<em>{{ siteInfo.subtitle || siteInfo.brandSub }}</em>
</span>
</RouterLink>
@@ -184,6 +193,14 @@ watch(
gap: 12px;
flex-shrink: 0;
/* 站点设置下发的深色 Logo {yz:logo} */
&__logo {
height: 42px;
width: auto;
max-width: 190px;
object-fit: contain;
}
&__mark {
display: flex;
align-items: center;
@@ -201,7 +218,7 @@ watch(
&__text {
display: flex;
flex-direction: column;
line-height: 1.15;
line-height: 1.4;
strong {
font-size: 20px;