UNPKG

@antv/dumi-theme-antv

Version:
74 lines (66 loc) 1.7 kB
// 判断是否在浏览器环境 export var isBrowser = function isBrowser() { return typeof window !== 'undefined' && window; }; // 安全访问浏览器 API // eslint-disable-next-line no-unused-vars export var safeWindow = function safeWindow(fn) { if (isBrowser()) return fn(window); return undefined; }; /** * 环境类型枚举 */ /** * 获取当前环境类型 * @returns {EnvType} 当前环境类型 */ export var getEnv = function getEnv() { // 服务端环境默认返回生产环境 if (typeof window === 'undefined') { return 'prod'; } var hostname = window.location.hostname; // 生产环境 if (hostname.endsWith('antv.antgroup.com')) { return 'prod'; } // 预发环境 if (hostname.endsWith('-pre.alipay.com')) { return 'pre'; } // 本地环境 if (hostname.endsWith('.alipay.net')) { return 'dev'; } // 默认返回生产环境 return 'prod'; }; /** * 根据当前环境动态获取 API 的 baseURL。 * 在浏览器中,它会根据域名判断;在服务端,它会返回一个固定的生产环境地址。 * @returns {string} API 的 baseURL */ export var getBaseURL = function getBaseURL() { var env = getEnv(); switch (env) { case 'dev': return 'https://weavefox.alipay.net:8443'; case 'pre': return 'https://prepub.weavefox.cn'; case 'prod': default: return 'https://www.weavefox.cn'; } }; export var getBaseSiteDataUrl = function getBaseSiteDataUrl() { var env = getEnv(); switch (env) { case 'dev': case 'pre': return 'https://site-data-pre.alipay.com'; case 'prod': default: return 'https://assets.antv.antgroup.com'; } };