feat: 更新网站页面和组件,新增多个页面(关于、专家、会员、政策等)
This commit is contained in:
@@ -3,35 +3,54 @@
|
||||
<div class="mx-auto max-w-screen-xl px-4 py-10">
|
||||
<a-row :gutter="[24, 24]">
|
||||
<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" src="https://oss.wsdns.cn/20260127/74041127623e4a8faa49a24e0818dae6.png" />
|
||||
<div class="text-sm leading-6 text-gray-400">
|
||||
小程序
|
||||
<br />
|
||||
获取最新动态
|
||||
</div>
|
||||
<div class="text-base font-semibold text-white">联系我们</div>
|
||||
<div class="mt-4 grid gap-2 text-sm text-gray-300">
|
||||
<div>咨询服务:<NuxtLink class="text-gray-100 hover:text-white underline-offset-4 hover:underline" to="/consulting/intro">服务简介</NuxtLink></div>
|
||||
<div>建议反馈:<NuxtLink class="text-gray-100 hover:text-white underline-offset-4 hover:underline" to="/suggest">建言献策</NuxtLink></div>
|
||||
<div>联系方式:<NuxtLink class="text-gray-100 hover:text-white underline-offset-4 hover:underline" to="/contact">联系我们</NuxtLink></div>
|
||||
</div>
|
||||
</a-col>
|
||||
|
||||
<a-col :xs="24" :md="8">
|
||||
<div class="text-base font-semibold text-white">快速入口</div>
|
||||
<div class="mt-4 grid gap-2 text-sm text-gray-400">
|
||||
<NuxtLink class="hover:text-white" to="/products">经营范围</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/contact">联系我们</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/policy/latest">政策要闻</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/reference/data">数据服务</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/experts/apply">专家申请</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/downloads">资料下载</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/search">站内搜索</NuxtLink>
|
||||
<NuxtLink class="hover:text-white" to="/sitemap">站点地图</NuxtLink>
|
||||
</div>
|
||||
</a-col>
|
||||
|
||||
<a-col :xs="24" :md="8">
|
||||
<div class="text-base font-semibold text-white">备案信息</div>
|
||||
<div class="mt-4 text-sm text-gray-400">{{ icpText }}</div>
|
||||
<div class="mt-4 grid gap-2 text-sm text-gray-300">
|
||||
<div>{{ icpText }}</div>
|
||||
<div>{{ policeText }}</div>
|
||||
<div>{{ siteCodeText }}</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<div class="mt-10 border-t border-white/10 pt-6">
|
||||
<div class="text-base font-semibold text-white">友情链接</div>
|
||||
<div class="mt-3 flex flex-wrap gap-x-5 gap-y-2 text-sm text-gray-300">
|
||||
<a v-for="it in friendLinks" :key="it.url" class="hover:text-white hover:underline underline-offset-4" :href="it.url" target="_blank" rel="noreferrer">
|
||||
{{ it.name }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="mt-10 flex flex-col gap-2 border-t border-white/10 pt-6 text-xs text-gray-500 md:flex-row md:items-center md:justify-between"
|
||||
>
|
||||
<div>© {{ year }} {{ siteName }}. All rights reserved.</div>
|
||||
<div class="flex flex-wrap items-center gap-x-3 gap-y-1 text-gray-400">
|
||||
<NuxtLink class="hover:text-gray-200" to="/privacy">隐私政策</NuxtLink>
|
||||
<NuxtLink class="hover:text-gray-200" to="/terms">使用条款</NuxtLink>
|
||||
<NuxtLink class="hover:text-gray-200" to="/disclaimer">免责声明</NuxtLink>
|
||||
</div>
|
||||
<div class="tools flex items-center opacity-80 hover:opacity-90 text-gray-100 text-xs">
|
||||
Powered by
|
||||
<a
|
||||
@@ -52,7 +71,7 @@
|
||||
import { getCmsWebsiteFieldByCode } from '@/api/cms/cmsWebsiteField'
|
||||
|
||||
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 { data: icpField } = useAsyncData('cms-website-field-icpNo', async () => {
|
||||
try {
|
||||
@@ -62,6 +81,22 @@ const { data: icpField } = useAsyncData('cms-website-field-icpNo', async () => {
|
||||
}
|
||||
})
|
||||
|
||||
const { data: policeField } = useAsyncData('cms-website-field-policeNo', async () => {
|
||||
try {
|
||||
return await getCmsWebsiteFieldByCode('policeNo')
|
||||
} catch {
|
||||
return null
|
||||
}
|
||||
})
|
||||
|
||||
const { data: siteCodeField } = useAsyncData('cms-website-field-siteCode', async () => {
|
||||
try {
|
||||
return await getCmsWebsiteFieldByCode('siteCode')
|
||||
} catch {
|
||||
return null
|
||||
}
|
||||
})
|
||||
|
||||
const icpNo = computed(() => {
|
||||
const v = icpField.value?.value ?? icpField.value?.defaultValue
|
||||
if (typeof v === 'string' && v.trim()) return v.trim()
|
||||
@@ -69,13 +104,36 @@ const icpNo = computed(() => {
|
||||
return typeof fallback === 'string' ? fallback.trim() : ''
|
||||
})
|
||||
|
||||
const icpText = computed(() => (icpNo.value ? `备案号:${icpNo.value}` : '备案号:'))
|
||||
const policeNo = computed(() => {
|
||||
const v = policeField.value?.value ?? policeField.value?.defaultValue
|
||||
if (typeof v === 'string' && v.trim()) return v.trim()
|
||||
const fallback = (siteInfo.value as any)?.data?.policeNo
|
||||
return typeof fallback === 'string' ? fallback.trim() : ''
|
||||
})
|
||||
|
||||
const siteCode = computed(() => {
|
||||
const v = siteCodeField.value?.value ?? siteCodeField.value?.defaultValue
|
||||
if (typeof v === 'string' && v.trim()) return v.trim()
|
||||
const fallback = (siteInfo.value as any)?.data?.siteCode
|
||||
return typeof fallback === 'string' ? fallback.trim() : ''
|
||||
})
|
||||
|
||||
const icpText = computed(() => (icpNo.value ? `桂 ICP 备:${icpNo.value}` : '桂 ICP 备:'))
|
||||
const policeText = computed(() => (policeNo.value ? `桂公网安备:${policeNo.value}` : '桂公网安备:'))
|
||||
const siteCodeText = computed(() => (siteCode.value ? `网站标识码:${siteCode.value}` : '网站标识码:'))
|
||||
const year = new Date().getFullYear()
|
||||
|
||||
const friendLinks = [
|
||||
{ name: '广西壮族自治区人民政府', url: 'https://www.gxzf.gov.cn' },
|
||||
{ name: '国务院发展研究中心', url: 'https://www.drc.gov.cn' },
|
||||
{ name: '中国社会科学院', url: 'https://www.cass.cn' },
|
||||
{ name: '广西社科联', url: 'http://www.gxskl.gov.cn' }
|
||||
]
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.footer {
|
||||
background: #4b5563;
|
||||
background: #111827;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user