/** * 接口 baseURL 解析。 * 优先级:VITE_API_BASE_URL > H5 开发代理 > H5 生产域名推断 > 默认生产 API */ /** 极验 4.0 captcha_id(前端展示用;KEY 仅在后端校验) */ export const GEETEST4_CAPTCHA_ID = '75e8a175c43b9ecfa15372c658be05e5' const DEFAULT_PROD_API = 'https://api.yunzer.cn' /** * @returns {string} 去掉末尾斜杠的 baseURL */ export function resolveBaseURL() { let fromEnv = '' try { fromEnv = (typeof import.meta !== 'undefined' && import.meta.env && import.meta.env.VITE_API_BASE_URL) || '' } catch (e) { fromEnv = '' } if (fromEnv && fromEnv !== 'undefined' && fromEnv !== 'null') { return String(fromEnv).replace(/\/$/, '') } // #ifdef H5 if (typeof window !== 'undefined' && window.location) { const { hostname, protocol } = window.location // 生产域名优先:避免 HBuilderX 构建后 DEV 仍为 true 时误走 /proxy-api if (hostname.includes('yunzer.cn')) { return DEFAULT_PROD_API } // 本地 H5 开发走 vite 代理 if ( (hostname === 'localhost' || hostname === '127.0.0.1') && typeof import.meta !== 'undefined' && import.meta.env && import.meta.env.DEV ) { return '/proxy-api' } if (hostname === 'localhost' || hostname === '127.0.0.1') { return `${protocol}//${hostname}:9000`.replace(/\/$/, '') } } // #endif return DEFAULT_PROD_API } /** 与 resolveBaseURL 相同,便于业务侧统一引用 */ export function getBaseURL() { return resolveBaseURL() }