fixessome
This commit is contained in:
31
src/services/axiosSetup.ts
Normal file
31
src/services/axiosSetup.ts
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
// src/services/axiosSetup.ts
|
||||||
|
import axios from 'axios';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
|
// Создаем экземпляр axios
|
||||||
|
const api = axios.create({
|
||||||
|
baseURL: 'https://luminic.space/api/v1',
|
||||||
|
// baseURL: 'http://localhost:8000/api/v1',
|
||||||
|
});
|
||||||
|
|
||||||
|
// Устанавливаем токен из 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;
|
||||||
Reference in New Issue
Block a user