/**axios封装
* 请求拦截、相应拦截、错误统一处理
*/
import axios from 'axios';
import QS from 'qs';
// 请求超时时间
axios.defaults.timeout = 60000;
// post请求头
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
// 请求拦截器
axios.interceptors.request.use(
config => {
return config;
},
error => {
return Promise.error(error);
})
// 响应拦截器
axios.interceptors.response.use(
response => {
return response;
},
// 服务器状态码不是200的情况
error => {
return Promise.resolve(error.response);
}
);
/**
* get方法,对应get请求
* @param {String} url [请求的url地址]
* @param {Object} params [请求时携带的参数]
*/
export function get(url, params) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
})
.then(res => {
resolve(res);
})
.catch(err => {
reject(err)
})
});
}
/**
* post方法,对应post请求
* @param {String} url [请求的url地址]
* @param {Object} params [请求时携带的参数]
*/
export function post(url, params) {
return new Promise((resolve, reject) => {
axios({
url: url,
method: 'post',
data: params // data就是body参数
})
.then(res => {
resolve(res);
})
.catch(err => {
reject(err)
})
});
}
export function postFile(url, params) {
return new Promise((resolve, reject) => {
axios({
headers: {
'Content-Type': 'multipart/form-data;boundary = ' + new Date().getTime()
},
url: url,
method: 'post',
data: params // data就是body参数
})
.then(res => {
resolve(res);
})
.catch(err => {
reject(err)
})
});
}
/****人脸识别模块 的接口***/
//文件上传
export function postFileStaff(url, params) {
return new Promise((resolve, reject) => {
axios({
headers: {
'Content-Type': 'multipart/form-data;boundary = ' + new Date().getTime(),
},
url: url,
method: 'post',
data: params // data就是body参数
})
.then(res => {
resolve(res);
})
.catch(err => {
reject(err)
})
});
}
// 人脸识别 信息提交
export function postStaff(url, params) {
return new Promise((resolve, reject) => {
axios({
url: url,
headers: {
'token': localStorage.getItem("accessToken")
},
method: 'post',
data: params // data就是body参数
})
.then(res => {
resolve(res);
})
.catch(err => {
reject(err)
})
});
}
// 获取token
export function getStaffToken(url, params) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
})
.then(res => {
resolve(res);
})
.catch(err => {
reject(err)
})
});
}
vue 接口拦截
最新推荐文章于 2024-02-06 20:23:21 发布