refactor: runtime-env remove korean

This commit is contained in:
OhSeongRak 2025-06-18 15:17:06 +09:00
parent bc72e45408
commit 142a8206f3
2 changed files with 41 additions and 41 deletions

View File

@ -1,24 +1,24 @@
//* public/runtime-env.js - 배포 환경 우선 설정 //* public/runtime-env.js - Production environment priority configuration
console.log('=== RUNTIME-ENV.JS 로드됨 ==='); console.log('=== RUNTIME-ENV.JS LOADED ===');
// 배포 환경 감지 함수 // Production environment detection function
const isProduction = () => { const isProduction = () => {
// 프로덕션 환경 감지 로직 // Production environment detection logic
return window.location.hostname !== 'localhost' && return window.location.hostname !== 'localhost' &&
window.location.hostname !== '127.0.0.1' && window.location.hostname !== '127.0.0.1' &&
!window.location.hostname.includes('dev'); !window.location.hostname.includes('dev');
}; };
// 기본 ingress host 설정 (deploy_env_vars에서 설정된 값) // Default ingress host setting (from deploy_env_vars)
const DEFAULT_INGRESS_HOST = 'smarketing.20.249.184.228.nip.io'; const DEFAULT_INGRESS_HOST = 'smarketing.20.249.184.228.nip.io';
// 환경별 API URL 설정 // Environment-specific API URL configuration
const getBaseUrl = () => { const getBaseUrl = () => {
if (isProduction()) { if (isProduction()) {
// 프로덕션: ingress host 사용 // Production: use ingress host
return `http://${DEFAULT_INGRESS_HOST}`; return `http://${DEFAULT_INGRESS_HOST}`;
} else { } else {
// 개발환경: localhost 사용 // Development: use localhost
return ''; return '';
} }
}; };
@ -26,7 +26,7 @@ const getBaseUrl = () => {
const baseUrl = getBaseUrl(); const baseUrl = getBaseUrl();
window.__runtime_config__ = { window.__runtime_config__ = {
// 프로덕션 환경에서는 ingress host 사용, 개발환경에서는 localhost // Use ingress host in production, localhost in development
AUTH_URL: isProduction() ? AUTH_URL: isProduction() ?
`${baseUrl}/api/auth` : `${baseUrl}/api/auth` :
'http://localhost:8081/api/auth', 'http://localhost:8081/api/auth',
@ -58,7 +58,7 @@ window.__runtime_config__ = {
// Gateway URL // Gateway URL
GATEWAY_URL: isProduction() ? baseUrl : 'http://20.1.2.3', GATEWAY_URL: isProduction() ? baseUrl : 'http://20.1.2.3',
// 기능 플래그 // Feature flags
FEATURES: { FEATURES: {
ANALYTICS: true, ANALYTICS: true,
PUSH_NOTIFICATIONS: true, PUSH_NOTIFICATIONS: true,
@ -67,22 +67,22 @@ window.__runtime_config__ = {
API_HEALTH_CHECK: true, API_HEALTH_CHECK: true,
}, },
// 환경 설정 // Environment settings
ENV: isProduction() ? 'production' : 'development', ENV: isProduction() ? 'production' : 'development',
DEBUG: !isProduction(), DEBUG: !isProduction(),
// API 타임아웃 설정 // API timeout settings
API_TIMEOUT: 30000, API_TIMEOUT: 30000,
// 재시도 설정 // Retry settings
RETRY_ATTEMPTS: 3, RETRY_ATTEMPTS: 3,
RETRY_DELAY: 1000, RETRY_DELAY: 1000,
// 버전 정보 // Version information
VERSION: '1.0.0', VERSION: '1.0.0',
BUILD_DATE: new Date().toISOString(), BUILD_DATE: new Date().toISOString(),
// 백엔드 서비스 포트 정보 (디버깅용) // Backend service port information (for debugging)
BACKEND_PORTS: { BACKEND_PORTS: {
AUTH: 8081, AUTH: 8081,
STORE: 8082, STORE: 8082,
@ -91,41 +91,41 @@ window.__runtime_config__ = {
} }
}; };
// 설정 검증 함수 // Configuration validation function
const validateConfig = () => { const validateConfig = () => {
const config = window.__runtime_config__; const config = window.__runtime_config__;
const requiredUrls = ['AUTH_URL', 'STORE_URL', 'SALES_URL', 'RECOMMEND_URL']; const requiredUrls = ['AUTH_URL', 'STORE_URL', 'SALES_URL', 'RECOMMEND_URL'];
for (const url of requiredUrls) { for (const url of requiredUrls) {
if (!config[url]) { if (!config[url]) {
console.error(`❌ [CONFIG] 필수 URL 누락: ${url}`); console.error(`Missing required URL: ${url}`);
return false; return false;
} }
} }
console.log('✅ [CONFIG] 설정 검증 완료'); console.log('Config validation completed');
return true; return true;
}; };
// 환경별 상세 로깅 // Environment-specific detailed logging
if (window.__runtime_config__.DEBUG) { if (window.__runtime_config__.DEBUG) {
console.log('=== 현재 환경 정보 ==='); console.log('=== Current Environment Info ===');
console.log('🌍 Environment:', window.__runtime_config__.ENV); console.log('Environment:', window.__runtime_config__.ENV);
console.log('🏠 Hostname:', window.location.hostname); console.log('Hostname:', window.location.hostname);
console.log('🔧 Is Production:', isProduction()); console.log('Is Production:', isProduction());
console.log('=== 백엔드 API URLs ==='); console.log('=== Backend API URLs ===');
console.log('🔐 AUTH_URL:', window.__runtime_config__.AUTH_URL); console.log('AUTH_URL:', window.__runtime_config__.AUTH_URL);
console.log('🏪 STORE_URL:', window.__runtime_config__.STORE_URL); console.log('STORE_URL:', window.__runtime_config__.STORE_URL);
console.log('📊 SALES_URL:', window.__runtime_config__.SALES_URL); console.log('SALES_URL:', window.__runtime_config__.SALES_URL);
console.log('🤖 RECOMMEND_URL:', window.__runtime_config__.RECOMMEND_URL); console.log('RECOMMEND_URL:', window.__runtime_config__.RECOMMEND_URL);
console.log('📄 CONTENT_URL:', window.__runtime_config__.CONTENT_URL); console.log('CONTENT_URL:', window.__runtime_config__.CONTENT_URL);
console.log('=== 설정 상세 정보 ==='); console.log('=== Detailed Configuration ===');
console.log('전체 설정:', window.__runtime_config__); console.log('Full config:', window.__runtime_config__);
} }
// 전역 설정 접근 함수 // Global configuration access functions
window.getApiConfig = () => window.__runtime_config__; window.getApiConfig = () => window.__runtime_config__;
window.getApiUrl = (serviceName) => { window.getApiUrl = (serviceName) => {
const config = window.__runtime_config__; const config = window.__runtime_config__;
@ -133,7 +133,7 @@ window.getApiUrl = (serviceName) => {
return config[urlKey] || null; return config[urlKey] || null;
}; };
// 설정 검증 실행 // Execute configuration validation
validateConfig(); validateConfig();
console.log(`✅ [RUNTIME] 런타임 설정 로드 완료 (${window.__runtime_config__.ENV} 환경)`); console.log(`Runtime configuration loaded successfully (${window.__runtime_config__.ENV} environment)`);

View File

@ -6,15 +6,15 @@ const getApiUrls = () => {
const config = window.__runtime_config__ || {} const config = window.__runtime_config__ || {}
return { return {
GATEWAY_URL: config.GATEWAY_URL || 'http://20.1.2.3', GATEWAY_URL: config.GATEWAY_URL || 'http://20.1.2.3',
AUTH_URL: config.AUTH_URL || 'http://smarketing.20.249.184.228.nip.io/api/auth', AUTH_URL: config.AUTH_URL || 'http://localhost:8081/api/auth',
MEMBER_URL: config.MEMBER_URL || 'http://smarketing.20.249.184.228.nip.io/api/member', MEMBER_URL: config.MEMBER_URL || 'http://localhost:8081/api/member',
STORE_URL: config.STORE_URL || 'http://smarketing.20.249.184.228.nip.io/api/store', STORE_URL: config.STORE_URL || 'http://localhost:8082/api/store',
CONTENT_URL: config.CONTENT_URL || 'http://smarketing.20.249.184.228.nip.io/api/content', CONTENT_URL: config.CONTENT_URL || 'http://localhost:8083/api/content',
MENU_URL: config.MENU_URL || 'http://smarketing.20.249.184.228.nip.io/api/menu', MENU_URL: config.MENU_URL || 'http://localhost:8082/api/menu',
// ⚠️ 수정: 매출 API는 store 서비스 (포트 8082) // ⚠️ 수정: 매출 API는 store 서비스 (포트 8082)
SALES_URL: config.SALES_URL || 'http://smarketing.20.249.184.228.nip.io/api/sales', SALES_URL: config.SALES_URL || 'http://localhost:8082/api/sales',
// ⚠️ 수정: 추천 API는 ai-recommend 서비스 (포트 8084) // ⚠️ 수정: 추천 API는 ai-recommend 서비스 (포트 8084)
RECOMMEND_URL: config.RECOMMEND_URL || 'http://smarketing.20.249.184.228.nip.io/api/recommendations' RECOMMEND_URL: config.RECOMMEND_URL || 'http://localhost:8084/api/recommendations'
} }
} }