import axios from "axios";
import { Loading, Message } from "element-ui";
import tool from "./NB.js";
import store from "../store/index.js";
const service = axios.create({
baseURL: tool.getServeUrl(),//url请求路径
withCredentials: true
});
service.interceptors.request.use(
config => {
// console.log(config);
config.headers = {
...config.headers,
authorization: tool.getToken()//token
};
config.data = {
requestBody: {
data: config.data || {}
}
};
if (config.loading) {
Loading.service();
}
return config;
},
error => {
console.log(error);
return Promise.reject(error);
}
);
service.interceptors.response.use(
response => {
if (response.config.loading) {
Loading.service().close();
}
if (response.data.code != 200) {
if (!response.config.noTip) {
Message({
type: "error",
message: response.data.message
});
}
return Promise.reject(response.data);
} else {
if (response.data.responseBody.code != 200) {
if (!response.config.noTip) {
Message({
type: "error",
message: response.data.responseBody.message
});
}
if (response.data.responseBody.code == '401' || response.data.responseBody.code == '403') {
if (!response.config.noShowLogin) {
store.commit('setShowLogin', true);
return Promise.reject("请先登录");
}
}
return Promise.reject(response.data.responseBody);
}
}
return response.data.responseBody.data;
},
error => {
Loading.service().close();
Message({
type: "error",
message: "请求失败!"
});
console.log("err" + error);
return Promise.reject(error);
}
);
export default service;
axios请求封装一下
最新推荐文章于 2022-10-19 15:49:14 发布