request.ts
1 import axios from 'axios'; 2 3 const request = axios.create({ 4 baseURL: '/api', 5 timeout: 30000, 6 }); 7 8 request.interceptors.request.use( 9 (config) => { 10 const token = localStorage.getItem('token'); 11 if (token) { 12 config.headers.Authorization = `Bearer ${token}`; 13 } 14 return config; 15 }, 16 (error) => Promise.reject(error) 17 ); 18 19 request.interceptors.response.use( 20 (response) => response.data, 21 (error) => { 22 if (error.response?.status === 401 || error.response?.status === 403) { 23 localStorage.removeItem('token'); 24 window.location.href = '/login'; 25 } 26 return Promise.reject(error); 27 } 28 ); 29 30 export default request;