fix axios authorization

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

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

Loading…
Cancel
Save