| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* eslint-disable */
- import axios from 'axios';
- import { TokenDispatcher } from '@/store/dispatchers';
- const { destroyToken } = TokenDispatcher;
- // Full config: https://github.com/axios/axios#request-config
- // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
- // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
- // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
- const config = {
- baseURL: process.env.VUE_APP_API_URL,
- // timeout: 60 * 1000, // Timeout
- // withCredentials: true, // Check cross-site Access-Control
- };
- const _axios = axios.create(config);
- _axios.interceptors.request.use(
- (config) => {
- config.headers.Authorization = localStorage.getItem('token');
- return config;
- },
- (error) =>
- // Do something with request error
- Promise.reject(error),
- );
- // Add a response interceptor
- _axios.interceptors.response.use(
- (response) => {
- if (response.status === 403) {
- destroyToken();
- window.location.href = '/';
- return;
- }
- return response.data.data;
- },
- (error) =>
- // Do something with response error
- Promise.reject(error),
- );
- export default _axios;
|