27 lines
786 B
TypeScript
27 lines
786 B
TypeScript
import axios from "axios";
|
||
|
||
const apiClient = axios.create({
|
||
// Vite предоставляет переменную import.meta.env.VITE_API_URL
|
||
// В режиме разработки это будет прокси, в продакшене - реальный URL
|
||
baseURL: import.meta.env.VITE_API_URL || "/api",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
},
|
||
});
|
||
|
||
// Мы можем добавить interceptor для автоматического добавления JWT
|
||
apiClient.interceptors.request.use(
|
||
(config) => {
|
||
const token = localStorage.getItem("authToken");
|
||
if (token) {
|
||
config.headers.Authorization = `Bearer ${token}`;
|
||
}
|
||
return config;
|
||
},
|
||
(error) => {
|
||
return Promise.reject(error);
|
||
},
|
||
);
|
||
|
||
export default apiClient;
|