Files
luminic-front/src/services/axiosSetup.ts
Vladimir Voronin e4042928df +analytics
2025-01-23 00:16:36 +03:00

32 lines
907 B
TypeScript

// src/services/axiosSetup.ts
import axios from 'axios';
import { useRouter } from 'vue-router';
// Создаем экземпляр axios
const api = axios.create({
// baseURL: 'https://luminic.space/api/',
baseURL: 'http://localhost:8082/api',
});
// Устанавливаем токен из localStorage при каждом запуске
const token = localStorage.getItem('token');
if (token) {
api.defaults.headers.common['Authorization'] = `Bearer ${token}`;
}
// Перехватчик ответа для проверки 401 статуса
api.interceptors.response.use(
(response) => response,
(error) => {
if (error.response && error.response.status === 401) {
localStorage.removeItem('token');
const router = useRouter();
router.push('/login');
}
return Promise.reject(error);
}
);
export default api;