44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
// 兜底方案,先改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;
|
||
}
|
||
}
|