123456789101112131415161718192021222324252627 |
- import { formatMessage } from 'umi/locale';
- import pathToRegexp from 'path-to-regexp';
- import isEqual from 'lodash/isEqual';
- import memoizeOne from 'memoize-one';
- import { menu, title } from '../defaultSettings';
- export const matchParamsPath = (pathname, breadcrumbNameMap) => {
- const pathKey = Object.keys(breadcrumbNameMap).find(key => pathToRegexp(key).test(pathname));
- return breadcrumbNameMap[pathKey];
- };
- const getPageTitle = (pathname, breadcrumbNameMap) => {
- const currRouterData = matchParamsPath(pathname, breadcrumbNameMap);
- if (!currRouterData) {
- return title;
- }
- const pageName = menu.disableLocal
- ? currRouterData.name
- : formatMessage({
- id: currRouterData.locale || currRouterData.name,
- defaultMessage: currRouterData.name,
- });
- return `${pageName} - ${title}`;
- };
- export default memoizeOne(getPageTitle, isEqual);
|