/ easyshell-web / src / api / request.ts
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;