mirror of
https://github.com/keven1024/015.git
synced 2026-05-28 16:09:37 +00:00
26 lines
800 B
TypeScript
26 lines
800 B
TypeScript
type UseSeoProps = {
|
|
head?: Record<string, any>
|
|
seo?: Record<string, any>
|
|
}
|
|
const useSeo = async (props: UseSeoProps = {}) => {
|
|
const { head, seo } = props || {}
|
|
const { data } = await useFetch<any>('/config')
|
|
const seoMeta = computed(() => data.value?.data)
|
|
const { title } = head || {}
|
|
useHead({
|
|
...head,
|
|
title: title ? `${title} - ${seoMeta?.value?.site_title}` : seoMeta?.value?.site_title,
|
|
})
|
|
useSeoMeta({
|
|
...seo,
|
|
title: seoMeta?.value?.site_title,
|
|
description: seoMeta?.value?.site_desc,
|
|
ogTitle: seoMeta?.value?.site_title,
|
|
ogDescription: seoMeta?.value?.site_desc,
|
|
// ogImage: seoMeta?.value?.site_url,
|
|
// twitterCard: 'summary_large_image',
|
|
})
|
|
return
|
|
}
|
|
|
|
export default useSeo |