import axios from "axios";

import { context } from "@/utils";

const BaseClientService = axios.create();

// 添加请求拦截器
BaseClientService.interceptors.request.use(
  (config) => {
    // 在发送请求之前做些什么
    return config;
  },
  (e) => {
    // 对请求错误做些什么
    return Promise.reject(e);
  }
);

// 添加响应拦截器
BaseClientService.interceptors.response.use(
  (response) => {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response;
  },
  (e) => {
    // “50”开头统一处理
    if (e.response?.status >= 500 && e.response?.status < 600) {
      context.message?.error("服务器开小差了，请稍后再试");
      return Promise.reject(e);
    }
    return Promise.reject(e);
  }
);

/** 基础URL */
export const BaseUrl = "/v1";

export default BaseClientService;
