This commit is contained in:
2026-03-18 16:09:47 +07:00
parent ab3d27a4f1
commit 1ad90395dc
7 changed files with 364 additions and 22 deletions

View File

@@ -0,0 +1,44 @@
// Автоматическое определение API URL без необходимости env переменных
// Работает на localhost, IP адресе или доменном имени
const API_CONFIG = {
// Определяй базовый URL на основе текущего location
// Фронтенд обращается к /api, nginx перенаправляет на backend внутри Docker сети
getBaseUrl: () => {
// Используем относительный путь /api вместо абсолютного URL
// Например: http://localhost:3000/api или http://185.56.162.170:8080/api
return '/api';
},
// Получить полный URL для API запроса
getApiUrl: (endpoint) => {
const baseUrl = API_CONFIG.getBaseUrl();
// Убираем слэш в начале endpoint если есть
const cleanEndpoint = endpoint.startsWith('/') ? endpoint.slice(1) : endpoint;
return `${baseUrl}/${cleanEndpoint}`;
},
// Хелпер для fetch запросов
fetch: async (endpoint, options = {}) => {
const url = API_CONFIG.getApiUrl(endpoint);
const defaultHeaders = {
'Content-Type': 'application/json',
};
const response = await fetch(url, {
...options,
headers: {
...defaultHeaders,
...options.headers,
},
});
if (!response.ok) {
throw new Error(`API Error: ${response.status} ${response.statusText}`);
}
return response.json();
},
};
export default API_CONFIG;