| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /* 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 getBaseUrl = () => {
- switch (process.env.NODE_ENV) {
- case 'development':
- return 'http://localhost:4000/api';
- case 'production':
- return process.env.baseURL || process.env.apiUrl || '';
- default:
- return process.env.baseURL || process.env.apiUrl || '';
- }
- };
- const config = {
- baseURL: getBaseUrl(),
- // 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.data.code === 10110) {
- destroyToken();
- return;
- }
- return response.data.data;
- },
- (error) =>
- // Do something with response error
- Promise.reject(error),
- );
- export default _axios;
|