import axios from 'axios' import { message } from 'antd' import { HashRouter } from 'react-router-dom' import { getToken, setToken, removeToken } from './token' const router = new HashRouter() const instance = axios.create({ baseURL: process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : '/api', headers: { 'Content-Type': 'application/json', withCredentials: true, 'token': localStorage.getItem('token') }, withCredentials: true, timeout: 100000 }) localStorage.setItem('si', JSON.stringify({ eName: 'admin' })); instance.interceptors.request.use( config => { let token = getToken(); if (token && token !== undefined && token !== "" && token !== "undefined") { config.headers['Authorization'] = "Bearer " + token; config.headers['token'] = token; } return config; }, error => { Promise.reject(error); } ) instance.interceptors.response.use( response => { const res = response.data; if (res.code === 401) { //尚未登录 removeToken(); router.history.push('/login'); } if (res.code !== 0) { message.open({ // notification message: '失败', content: res.message, type: 'error' }); return Promise.reject(res); } else { return res; } } ) export default instance;