import axios from 'axios'
let instance = axios.create({
baseURL: process.env.DOMAIN, //这个是vue-cli环境变量的配置
})
instance.defaults.transformRequest = [function (data) {
// 数据序列化 请求前的处理
return JSON.stringify(data)
}]
instance.defaults.validateStatus = function (status) {
return true
}
instance.interceptors.request.use(config => {
config.headers.Accept = 'application/json'
config.headers['Content-Type'] = 'application/json'
return config
}, err => {
return Promise.reject(err)
})
// 添加响应拦截器
instance.interceptors.response.use(response => {
if (response.status === 200) {
return Promise.resolve(response)
} else {
return Promise.reject(response)
}
})
let requestMethod = ['get', 'post', 'delete', 'put', 'patch', 'update']
let requester = {}
requestMethod.forEach((method) => {
requester[method] = function (url = '', data = {}, config = {}) {
return new Promise((resolve, reject) => {
instance[method](url, data, config).then((response) => {
console.log(response)
//这里写自己的状态,我们后台状态返回成功是200.
if (response.data ==200) {
resolve(response.data)
}
}).catch((response) => {
reject(response)
})
})
}
})
export default requester
封装 axios
最新推荐文章于 2024-08-08 11:02:08 发布