2024-04-16 09:21:49 +08:00
|
|
|
|
// 兜底方案,先改head
|
|
|
|
|
|
import { setDefaultMeta, setSeoMeta } from '../src/common/UrlTool'
|
2024-04-17 17:12:30 +08:00
|
|
|
|
import { getProjectDetailFunc, getMainInfos, getNewsDetail, getOwnerInfo } from '../src/services/project'
|
2024-04-16 09:21:49 +08:00
|
|
|
|
|
|
|
|
|
|
export const changeHead = async ({ key }, params) => {
|
|
|
|
|
|
let res
|
|
|
|
|
|
let data
|
|
|
|
|
|
switch (key) {
|
2024-05-11 10:25:13 +08:00
|
|
|
|
// 详情页不再修改head,直接ssr渲染页面
|
2024-04-30 15:00:52 +08:00
|
|
|
|
// case 'detail':
|
|
|
|
|
|
// res = await getProjectDetailFunc(params.owner, params.projectsId);
|
|
|
|
|
|
// data = res.data
|
|
|
|
|
|
// if (data && data.status === 1) {
|
|
|
|
|
|
// let keyWords=`${params.owner},${params.projectsId}${ data.topics.length > 0 && ','}${ data.topics.length > 0 && data.topics.map(item => item.name).join(',') }`;
|
|
|
|
|
|
// let title= `${params.owner}/${params.projectsId}${data.description?':'+data.description:''}`;
|
|
|
|
|
|
// setSeoMeta(keyWords,title,data.description || '',`/${params.owner}/${params.projectsId}`,params.owner,params.projectsId);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// break;
|
2024-04-16 09:21:49 +08:00
|
|
|
|
case 'zoneNews':
|
|
|
|
|
|
res = await getNewsDetail(params.id)
|
|
|
|
|
|
data = res.data.data
|
|
|
|
|
|
if (data) {
|
2024-06-27 16:12:34 +08:00
|
|
|
|
setSeoMeta(`${data.keywords || data.name}`, data.name, data.summary || '', `/zone/${params.deptId}/newdetail/${ params.id }`)
|
2024-05-14 11:40:38 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
return false
|
2024-04-16 09:21:49 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'zone':
|
|
|
|
|
|
res = await getMainInfos(params.deptId);
|
|
|
|
|
|
data = res.data.data
|
|
|
|
|
|
if (data) {
|
|
|
|
|
|
setSeoMeta(`${data.name}`, data.name, data.subTitle || '', `/zone/${params.deptId}`)
|
2024-05-14 11:40:38 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
return false
|
2024-04-16 09:21:49 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
2024-04-17 17:12:30 +08:00
|
|
|
|
case 'owner':
|
|
|
|
|
|
res = await getOwnerInfo(params.owner);
|
|
|
|
|
|
data = res.data
|
|
|
|
|
|
const name = data.nickname || data.username
|
2024-04-30 15:00:52 +08:00
|
|
|
|
if (data && data.name) {
|
2024-04-17 17:12:30 +08:00
|
|
|
|
setSeoMeta(`${name}`, name, data.description || '', `/${params.owner}`)
|
2024-05-14 11:40:38 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
return false
|
2024-04-17 17:12:30 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
2024-04-16 09:21:49 +08:00
|
|
|
|
default:
|
2024-05-14 11:40:38 +08:00
|
|
|
|
return false
|
2024-04-16 09:21:49 +08:00
|
|
|
|
}
|
2024-05-22 16:15:12 +08:00
|
|
|
|
return true
|
2024-04-16 09:21:49 +08:00
|
|
|
|
}
|