a6b65ae918
这些页面未调用 usePageSeo,SSR 产物里没有 <title>,浏览器标签页显示 URL。 - login / register / forgot-password / change-password / buy / renewal / preview 统一按 contact.vue 的既有写法:await fetchSiteInfo() 后调 usePageSeo, 标题自动带上站点品牌后缀 - preview 页仅供内部调试,追加 robots: noindex,nofollow 避免被收录 - cases.vue 是 /cases → /case 的纯重定向壳,无需标题,未改动
31 lines
681 B
Vue
31 lines
681 B
Vue
<template>
|
|
<div>
|
|
<Component :is="pageComponent" v-if="pageComponent" :key="route.fullPath" />
|
|
<SiteLoading v-else />
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
/**
|
|
* 标书购买流程壳 /buy?id=xxx
|
|
*/
|
|
const route = useRoute()
|
|
const { loadTemplate } = useTemplate()
|
|
const { siteInfo, fetchSiteInfo } = useSite()
|
|
|
|
// 先取站点信息,保证标题能带上品牌名(与其它页面一致)
|
|
await fetchSiteInfo()
|
|
|
|
usePageSeo(
|
|
{
|
|
title: '购买标书',
|
|
path: '/buy'
|
|
},
|
|
siteInfo.value
|
|
)
|
|
|
|
const pageComponent = shallowRef<Component | null>(null)
|
|
const components = await loadTemplate()
|
|
pageComponent.value = components?.BuyDocument || null
|
|
</script>
|