utils.ts 893 B

123456789101112131415161718192021222324
  1. import { parse } from 'querystring';
  2. /* eslint no-useless-escape:0 import/prefer-default-export:0 */
  3. const reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
  4. export const isUrl = (path: string): boolean => reg.test(path);
  5. export const isAntDesignPro = (): boolean => {
  6. if (ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site') {
  7. return true;
  8. }
  9. return window.location.hostname === 'preview.pro.ant.design';
  10. };
  11. // 给官方演示站点用,用于关闭真实开发环境不需要使用的特性
  12. export const isAntDesignProOrDev = (): boolean => {
  13. const { NODE_ENV } = process.env;
  14. if (NODE_ENV === 'development') {
  15. return true;
  16. }
  17. return isAntDesignPro();
  18. };
  19. export const getPageQuery = () => parse(window.location.href.split('?')[1]);