1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| import axios from "axios"; import router from "@/router/index"; import { Notification } from "element-ui";
const http = axios.create({ baseURL: process.env.VUE_APP_API_URL, timeout: 15000 });
http.interceptors.request.use( config => { store.dispatch("SetLoading", true); getToken() && (config.headers["token"] = token); return config; }, error => { console.log(error); return Promise.reject(error); } );
http.interceptors.response.use( response => { store.dispatch("SetLoading", false); switch (response.data.code) { case "0": break; case "-5": axios.defaults.headers.common["token"] = ""; var storage = window.localStorage; storage.clear(); router.replace("/login"); Notification.error({ title: "请求错误", message: "用户信息失效,请重新登陆" }); return Promise.reject("用户信息失效,请重新登陆"); break; case "-3": Notification.error({ title: "请求错误", message: "服务器连接超时" }); return Promise.reject("服务器连接超时"); default: Notification.error({ title: "请求错误", message: response.data.message }); break; }
return response.data; }, error => { store.dispatch("SetLoading", false); return Promise.reject(error); } );
export default http;
|