fix axios authorization

3.x
smallchill 3 years ago
parent 35925e83c3
commit ca13284147
  1. 21
      src/axios.js

@ -30,26 +30,31 @@ NProgress.configure({
});
//HTTPrequest拦截
axios.interceptors.request.use(config => {
NProgress.start() // start progress bar
const meta = (config.meta || {});
const isToken = meta.isToken === false;
// start progress bar
NProgress.start()
//地址为已经配置状态则不添加前缀
if (!isURL(config.url) && !config.url.startsWith(baseUrl)) {
config.url = baseUrl + config.url
}
//配置请求头
//headers判断是否需要
const authorization = config.authorization === false;
if (!authorization) {
config.headers['Authorization'] = `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`;
}
//让每个请求携带token
const meta = (config.meta || {});
const isToken = meta.isToken === false;
if (getToken() && !isToken) {
config.headers[website.tokenHeader] = 'bearer ' + getToken()
}
//headers中配置serialize为true开启序列化
if (config.method === 'post' && meta.isSerialize === true) {
config.data = serialize(config.data);
}
//headers中配置text请求
if (config.text === true) {
config.headers["Content-Type"] = "text/plain";
}
//headers中配置serialize为true开启序列化
if (config.method === 'post' && meta.isSerialize === true) {
config.data = serialize(config.data);
}
return config
}, error => {
return Promise.reject(error)

Loading…
Cancel
Save