| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { routeI18nKey, findTabByPath } from 'ele-admin/es/ele-pro-layout/util';
- import { PROJECT_NAME, REDIRECT_PATH, I18N_ENABLE } from '@/config/setting';
- /**
- * 修改浏览器标题
- * @param title 标题
- */
- export function setDocumentTitle(title) {
- const names = [];
- if (title) {
- names.push(title);
- }
- if (PROJECT_NAME) {
- names.push(PROJECT_NAME);
- }
- document.title = names.join(' - ');
- }
- /**
- * 路由切换更新浏览器标题
- * @param route 路由信息
- * @param $t i18n
- */
- export function updateDocumentTitle(route, $t, tabs) {
- const { path, meta, fullPath } = route;
- if (path.includes(REDIRECT_PATH)) {
- return;
- }
- const pathKey = routeI18nKey(path);
- if (!pathKey) {
- return;
- }
- const tab = findTabByPath(fullPath, tabs);
- const title = tab?.title || meta?.title;
- if (!I18N_ENABLE) {
- setDocumentTitle(title);
- return;
- }
- const k = `route.${pathKey}._name`;
- const v = $t(k);
- setDocumentTitle(v === k || !v ? title : v);
- }
|