| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import axios from "axios";
- import history from "./history";
- import { getTokenInfo, removeTokenInfo } from "./storage";
- import { message } from "antd";
- // 请求基地址
- export const baseURL =
- // 线下的图片地址需要加上/api/
- process.env.NODE_ENV === "development"
- ? "http://192.168.20.55:8038/api/"
- : "";
- // process.env.NODE_ENV === "development" ? "http://192.168.20.55:8038" : "";
- // 创建 axios 实例
- const http = axios.create({
- // 线下的地址不用加/api/
- baseURL: baseURL,
- // baseURL: baseURL + "/api/",
- timeout: 5000,
- });
- let axajInd = 0;
- const lodingDom: any = document.querySelector("#AsyncSpinLoding");
- // 请求拦截器
- http.interceptors.request.use(
- function (config: any) {
- // 发请求前打开加载提示
- lodingDom.style.opacity = 1;
- lodingDom.style.pointerEvents = "auto";
- axajInd++;
- const { token } = getTokenInfo();
- if (token) config.headers.token = token;
- return config;
- },
- function (err) {
- return Promise.reject(err);
- }
- );
- // 响应拦截器
- http.interceptors.response.use(
- function (response) {
- // 请求回来的关闭加载提示
- axajInd--;
- if (axajInd === 0) {
- // setTimeout(() => {
- lodingDom.style.opacity = 0;
- lodingDom.style.pointerEvents = "none";
- // }, 100);
- }
- if (response.data.code === 5001 || response.data.code === 5002) {
- removeTokenInfo();
- message.warning("登录失效!");
- history.push("/login");
- } else if (response.data.code === 0) {
- // message.success(response.data.msg);
- } else message.warning(response.data.msg);
- return response.data;
- },
- async function (err) {
- axajInd = 0;
- setTimeout(() => {
- lodingDom.style.opacity = 0;
- lodingDom.style.pointerEvents = "none";
- }, 300);
- // 如果因为网络原因,response没有,给提示消息
- if (!err.response) {
- message.warning("网络繁忙,请稍后重试!");
- } else {
- message.warning("错误!");
- }
- return Promise.reject(err);
- }
- );
- // 导出 axios 实例
- export default http;
|