38 lines
1.5 KiB
TypeScript
38 lines
1.5 KiB
TypeScript
// export function getAppEnvConfig() {
|
|
// const ENV = import.meta.env;
|
|
// const { VITE_GLOB_API_URL, VITE_GLOB_API_YIN_JI, VITE_GLOB_API_JIAN_CE, VITE_GLOB_API_XIAN_YUN, VITE_GLOB_API_YIN_CHUAN } = ENV;
|
|
// return {
|
|
// VITE_GLOB_API_URL,
|
|
// VITE_GLOB_API_YIN_JI,
|
|
// VITE_GLOB_API_JIAN_CE,
|
|
// VITE_GLOB_API_XIAN_YUN,
|
|
// VITE_GLOB_API_YIN_CHUAN,
|
|
// };
|
|
// }
|
|
|
|
export function getAppEnvConfig() {
|
|
// 1. 优先:运行时注入(Docker)
|
|
const runtimeEnv = (window as any).__APP_ENV__ || {};
|
|
|
|
// 2. 其次:构建时环境变量(.env 文件)
|
|
const buildEnv = import.meta.env;
|
|
|
|
// 3. 获取 VITE_GLOB_API_URL:运行时 > 构建时 > 默认值
|
|
const VITE_GLOB_API_URL = runtimeEnv?.VITE_GLOB_API_URL || buildEnv.VITE_GLOB_API_URL || 'https://api.xjygjk.com'; // 默认兜底
|
|
|
|
// 解析主机名和协议
|
|
const url = new URL(VITE_GLOB_API_URL);
|
|
const host = url.hostname;
|
|
const protocol = url.protocol === 'https:' ? 'wss://' : 'ws://';
|
|
|
|
return {
|
|
VITE_GLOB_API_URL,
|
|
|
|
// WebSocket 地址基于 VITE_GLOB_API_URL 动态生成
|
|
VITE_GLOB_API_YIN_JI: `${protocol}${host}/health-watch/websocket/watchMonitor`,
|
|
VITE_GLOB_API_JIAN_CE: `${protocol}${host}/health-emergency/websocket/emergency`,
|
|
VITE_GLOB_API_XIAN_YUN: `${protocol}${host}/health-emergency/websocket/emergency3`,
|
|
VITE_GLOB_API_YIN_CHUAN: `${protocol}${host}/health-emergency/websocket/emergency4`,
|
|
};
|
|
}
|