forgeplus-react/server/setHead.js

52 lines
1.8 KiB
JavaScript
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.

// 兜底方案先改head
import { setDefaultMeta, setSeoMeta } from '../src/common/UrlTool'
import { getProjectDetailFunc, getMainInfos, getNewsDetail, getOwnerInfo } from '../src/services/project'
export const changeHead = async ({ key }, params) => {
let res
let data
switch (key) {
// 详情页不再修改head直接ssr渲染页面
// 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;
case 'zoneNews':
res = await getNewsDetail(params.id)
data = res.data.data
if (data) {
setSeoMeta(`${data.keywords || data.name}`, data.name, data.summary || '', `/zone/${params.deptId}/newdetail/${ params.id }`)
} else {
return false
}
break;
case 'zone':
res = await getMainInfos(params.deptId);
data = res.data.data
if (data) {
setSeoMeta(`${data.name}`, data.name, data.subTitle || '', `/zone/${params.deptId}`)
} else {
return false
}
break;
case 'owner':
res = await getOwnerInfo(params.owner);
data = res.data
const name = data.nickname || data.username
if (data && data.name) {
setSeoMeta(`${name}`, name, data.description || '', `/${params.owner}`)
} else {
return false
}
break;
default:
return false
}
return true
}