forgeplus-react-v2/server/setHead.js

44 lines
1.5 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) {
case 'detail':
res = await getProjectDetailFunc(params.owner, params.projectsId);
data = res.data
if (data && data.status !== 404) {
let keyWords=`${params.owner},${params.projectsId},${data.author && data.author.name}`;
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.name}`, data.name, data.summary || '', `/zone/${params.deptId}/newdetail/${ params.id }`)
}
break;
case 'zone':
res = await getMainInfos(params.deptId);
data = res.data.data
if (data) {
setSeoMeta(`${data.name}`, data.name, data.subTitle || '', `/zone/${params.deptId}`)
}
break;
case 'owner':
res = await getOwnerInfo(params.owner);
data = res.data
const name = data.nickname || data.username
if (data && data.status !== 404) {
setSeoMeta(`${name}`, name, data.description || '', `/${params.owner}`)
}
break;
default:
break;
}
}