Files
yunzerwebsiteallinone/uniapp/api/config.js
T
2026-08-15 22:16:58 +08:00

62 lines
1.5 KiB
JavaScript

/**
* 接口 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()
}