import axios from "axios"; import { Notification, MessageBox, Message } from "element-ui"; // 第三方插件 import "element-ui/lib/theme-chalk/index.css"; // 字体图标 export function getBaseUrl(){ // return "http://gateway.feashow.cn" // return "http://192.168.101.7:8000" // return "http://localhost:8000" return "/api"; } const service = axios.create({ baseURL: getBaseUrl(), // baseURL: "http://gateway.mytwins.top", // baseURL: "http://gateway.odliken.cn", timeout: 50000 }); service.defaults.withCredentials = true; // 让ajax携带cookie service.interceptors.request.use( // 每次请求都自动携带Cookie config => { config.headers['authorization'] = localStorage.getItem("token") // 让每个请求携带自定义token 请根据实际情况自行修改 return config; }, error => { return Promise.reject(error); } ); service.interceptors.response.use( rsp => { let data = rsp.data if (data.code === 401){ localStorage.clear() window.location.href = "/" } if (data.code === 1000){ return data }else { Notification.error({ title: "提醒", message: data.msg }) } }, // 拦截异常的响应 err => { console.log("请求", err); switch (err.response.status) { case 401: MessageBox.alert("登陆已过期,请关闭当前窗口重新进入"); break; case 403: //Message.warning("抱歉,您无权访问!") break; case 500: Notification.error({ title: "提醒", message: "服务器出了点小错误" }); break; case 404: Notification({ title: "提醒", message: "未找到,检查参数", type: "warning" }); break; default: //throw 'request error' return Promise.reject(err); } //throw 'request error' return Promise.reject(err); } ); export default service;