import axios from 'axios' //引用axios import { message } from 'ant-design-vue'; import Vue from 'vue' import checkTypes from "../utils/checkTypes"; axios.defaults.withcredentials =true // create an axios instance const service = axios.create({ baseURL: process.env.NODE_ENV === 'development' ? '' : 'http://101.43.201.20:5000', // 所有异步请求都加上/api,nginx转发到后端Springboot timeout: 5000 // request timeout }) // request interceptor service.interceptors.request.use( config => { config.headers['Access-Control-Allow-Origin'] = '*' return config }, error => { return Promise.reject(error) } ) // response interceptor service.interceptors.response.use( response => { const res = response.data //res is my own data if (!checkTypes.isObject(res)) { return { data: res } } if (`${res.code}` === '0') { return res } else { message.error(res.msg || 'Error') return Promise.reject(new Error(res.msg || 'Error')) } }, error => { message.error(error.message) return Promise.reject(error) } ) Vue.prototype.$http = service Vue.prototype.$post = (url, data, props = {}) => { return service({ url, method: "post", data, ...props }) } Vue.prototype.$put = (url, data, props = {}) => { return service({ url, method: "put", data, ...props }) } Vue.prototype.$delete = (url, data, props = {}) => { return service({ url, method: "delete", data, ...props }) } Vue.prototype.$get = (url, data, props = {}) => { return service({ url, method: "get", params: data, ...props }) }