import { watch, ref } from 'vue' import { isString } from '@/utils/is' import { useAppStoreWithOut } from '@/store/modules/app' import { getProjectName } from '@/utils/systemParam' const { t } = useI18n() // 国际化 const appStore = useAppStoreWithOut() export const useTitle = (newTitle?: string) => { const { t } = useI18n() const title = ref( newTitle ? `${appStore.getTitle} - ${t(newTitle as string)}` : appStore.getTitle ) watch( title, (n, o) => { if (isString(n) && n !== o && document) { document.title = n.replace(import.meta.env.VITE_APP_TITLE, t(`ts.${getProjectName()}`)) } }, { immediate: true } ) return title }