/*
 * @Author: code4eat awesomedema@gmail.com
 * @Date: 2025-06-18 09:15:35
 * @LastEditors: code4eat awesomedema@gmail.com
 * @LastEditTime: 2025-06-24 11:28:49
 * @FilePath: /pfmBackMana/src/utils/request.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import axios from 'axios';
import { message } from 'antd';

// 创建 axios 实例
const request = axios.create({
  baseURL: '/api', // 设置基础URL
  timeout: 10000, // 请求超时时间
});

// 请求拦截器
request.interceptors.request.use(
  (config) => {
    // 在这里可以添加token等认证信息
    return config;
  },
  (error) => {
    return Promise.reject(error);
  },
);

// 响应拦截器
request.interceptors.response.use(
  (response) => {
    const data = response.data;

    // 统一处理业务逻辑错误
    if (data && data.success === false) {
      const errorMessage = data.message || '操作失败';
      message.error(errorMessage);
      return Promise.reject(new Error(errorMessage));
    }

    return data;
  },
  (error) => {
    message.error(error.message || '请求失败');
    return Promise.reject(error);
  },
);

export default request;
