vue项目中axios的封装

import axios from 'axios'
import {Message} from 'element-ui'

axios.interceptors.request.use(config=> {
  	return config;
}, error=> {
  	return Promise.reject(error);
})

axios.interceptors.response.use(data=> {
  	if (data.status && data.status == 200 && data.data.status == 'error') {
	    Message.error({message: data.data.msg});
	    return;
  	}
  	return data;
}, err=> {
  	if (err.response.status == 504||err.response.status == 404) {
    	Message.error({message: '服务器被吃了⊙﹏⊙∥'});
  	} else if (err.response.status == 403) {
    	Message.error({message: '权限不足,请联系管理员!'});
  	}else {
   	 Message.error({message: '未知错误!'});
  	}
  	return Promise.resolve(err);
})

let base = '';

export const postRequest = (url, params) => {
	return new Promise((resolve, reject) => { 
		axios.post(url, params).then(res => {
			if (res.data.errno === 0) {
				resolve(res.data.data);
			} else if(res.data.errno === 404) {
				window.lulalaApp.$router.replace('/login');
			}else {
				reject(res.data.errmsg);
			}
		}, err => {
			reject(err)
		})
		.catch((error) => {
			reject(error)
		})
	})
}
export const getRequest = (url) => {
	return new Promise((resolve, reject) => {
		axios.get(url, {
			params: {
				...params
			}
		}).then(res => {  
			if (res.data.errno === 0) {
				resolve(res.data.data);
			}else if(res.data.errno === 404) {
				window.lulalaApp.$router.replace('/login');
			} else {
				reject(res.data.errmsg);
			}
		}, err => {
			reject(err)
		}).catch((error) => {
			reject(error)
		})
	})
}

你可能感兴趣的:(vue)