vue私有的Axios的通用封装
import Axios from 'axios'
// ==> 私有Axios实例,用作拦截器作用
const _instance = Axios.create()
export default {
install: function (Vue) {
Object.defineProperty(Vue.prototype, '$http', { value: this, writable: false })
// 设置拦截器
_instance
.interceptors
.response
.use(res => {
let data = res.data
// 统一判断,如果请求成功返回数据
return data.ret_code && data.ret_code === '0'
? data
: Promise.reject(data.ret_msg || data.errormsg)
}, err => {
return Promise.reject(err)
})
},
login (params) {
return _instance({
url: '/api‘,
params: params
})
}
}