First, create a new file in the src http.js project, copy the following code into it
Axios from Import 'Axios' Import the Message {,} Loading from 'UI-Element'; Import from Router './router' the let // loading loading variables defined function startLoading () {// method using loading-start Element loading = Loading .service ({ Lock: to true, text: 'loading ...', background: 'RGBA (0, 0, 0, 0.7)' }) } function endLoading () {// method using Element loading-close loading. Close () } // request interceptor disposed unified header axios.interceptors.request.use (config => { // load startLoading () IF (localStorage.eleToken) config.headers.Authorization = localStorage.eleToken config return }, error => { Promise.reject return (error) }) // response processing interceptor 401 token expires axios.interceptors.response.use (Response => { endLoading () return Response }, error => { // an error alert endLoading () Message.Error An (error.response.data) const {Status} error.response = IF (Status == 401) { Message.Error An ( 'token value is invalid. Please re-login') // clear token localStorage.removeItem ( 'eleToken') / / page jump router.push ( '/ Login') } return Promise.reject (error) }) Export default Axios
Second, the introduction of main.js