80 lines
2.3 KiB
JavaScript
80 lines
2.3 KiB
JavaScript
import { tlsHost, loopbackPort } from './urlJoin.js';
|
|
|
|
const resolveApiUrl = () => {
|
|
const mode = import.meta.env.MODE;
|
|
const envApiUrl = import.meta.env.VITE_API_URL;
|
|
|
|
if (mode === 'production') {
|
|
if (envApiUrl && envApiUrl.trim() !== '') return envApiUrl;
|
|
return tlsHost('infogenie.api.shumengya.top');
|
|
}
|
|
|
|
if (envApiUrl && envApiUrl.trim() !== '') return envApiUrl;
|
|
return loopbackPort('127.0.0.1', '5002');
|
|
};
|
|
|
|
const resolveAuthUrl = () => {
|
|
const mode = import.meta.env.MODE;
|
|
const envAuthUrl = import.meta.env.VITE_AUTH_URL;
|
|
|
|
if (mode === 'production') {
|
|
if (envAuthUrl && envAuthUrl.trim() !== '') return envAuthUrl;
|
|
return tlsHost('auth.shumengya.top');
|
|
}
|
|
|
|
if (envAuthUrl && envAuthUrl.trim() !== '') return envAuthUrl;
|
|
return tlsHost('auth.shumengya.top');
|
|
};
|
|
|
|
const resolveAuthApiUrl = () => {
|
|
const mode = import.meta.env.MODE;
|
|
const envAuthApiUrl = import.meta.env.VITE_AUTH_API_URL;
|
|
|
|
if (mode === 'production') {
|
|
if (envAuthApiUrl && envAuthApiUrl.trim() !== '') return envAuthApiUrl;
|
|
return tlsHost('auth.api.shumengya.top');
|
|
}
|
|
|
|
if (envAuthApiUrl && envAuthApiUrl.trim() !== '') return envAuthApiUrl;
|
|
return tlsHost('auth.api.shumengya.top');
|
|
};
|
|
|
|
const config = {
|
|
API_URL: resolveApiUrl(),
|
|
AUTH_URL: resolveAuthUrl(),
|
|
AUTH_API_URL: resolveAuthApiUrl(),
|
|
DEBUG: import.meta.env.VITE_DEBUG === 'true',
|
|
LOG_LEVEL: 'debug',
|
|
};
|
|
|
|
/** 与后端 INFOGENIE_SITE_ADMIN_TOKEN 一致;不设则无法进入 /admin */
|
|
const siteAdminGate = String(import.meta.env.VITE_SITE_ADMIN_GATE || '').trim();
|
|
|
|
export const ENV_CONFIG = {
|
|
API_URL: config.API_URL,
|
|
AUTH_URL: config.AUTH_URL,
|
|
AUTH_API_URL: config.AUTH_API_URL,
|
|
DEBUG: config.DEBUG,
|
|
LOG_LEVEL: config.LOG_LEVEL,
|
|
APP_NAME: 'InfoGenie',
|
|
APP_VERSION: '2.2.3',
|
|
CLIENT_ID: 'infogenie',
|
|
CLIENT_NAME: '万象口袋',
|
|
SITE_ADMIN_GATE: siteAdminGate,
|
|
};
|
|
|
|
export const getEnvVar = (key, defaultValue = '') => {
|
|
switch (key) {
|
|
case 'VITE_API_URL': return ENV_CONFIG.API_URL;
|
|
case 'VITE_AUTH_URL': return ENV_CONFIG.AUTH_URL;
|
|
case 'VITE_AUTH_API_URL': return ENV_CONFIG.AUTH_API_URL;
|
|
default: return defaultValue;
|
|
}
|
|
};
|
|
|
|
if (typeof window !== 'undefined') {
|
|
window.ENV_CONFIG = ENV_CONFIG;
|
|
}
|
|
|
|
export default ENV_CONFIG;
|