SOURCE

// 引入 axios
import axios from 'axios';

// 创建一个 axios 实例
const axiosInstance = axios.create({
  baseURL: 'https://api.example.com', // 替换为你的 API 基础 URL
  timeout: 10000, // 请求超时时间
  headers: { 'Content-Type': 'application/json' }
});

// 请求拦截器
axiosInstance.interceptors.request.use(
  config => {
    // 在发送请求之前做些什么,比如添加认证 token
    const token = localStorage.getItem('authToken');
    if (token) {
      config.headers['Authorization'] = `Bearer ${token}`;
    }
    return config;
  },
  error => {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 响应拦截器
axiosInstance.interceptors.response.use(
  response => {
    // 对响应数据做点什么
    return response.data;
  },
  error => {
    // 对响应错误做点什么
    if (error.response) {
      // 请求已发出,但服务器响应状态不在 2xx 范围内
      switch (error.response.status) {
        case 401:
          // 未授权,重定向到登录页面
          console.error('未授权,请登录');
          break;
        case 403:
          // 禁止访问
          console.error('禁止访问');
          break;
        case 404:
          // 资源未找到
          console.error('资源未找到');
          break;
        case 500:
          // 服务器内部错误
          console.error('服务器内部错误');
          break;
        default:
          console.error(`错误状态码: ${error.response.status}`);
      }
    } else if (error.request) {
      // 请求已发出,但没有收到响应
      console.error('请求已发出,但没有收到响应', error.request);
    } else {
      // 其他错误
      console.error('其他错误', error.message);
    }
    // 返回一个 rejected Promise
    return Promise.reject(error);
  }
);

// 封装常用的 HTTP 方法
const api = {
  get(url, params, config = {}) {
    return axiosInstance.get(url, { params, ...config });
  },
  post(url, data, config = {}) {
    return axiosInstance.post(url, data, config);
  },
  put(url, data, config = {}) {
    return axiosInstance.put(url, data, config);
  },
  delete(url, config = {}) {
    return axiosInstance.delete(url, config);
  }
};

// 导出 api
export default api;

import api from './path-to-your-api-file'; // 替换为你的 api 文件路径

// 发起 GET 请求
api.get('/users', { page: 1, limit: 10 })
  .then(response => {
    console.log('用户列表:', response);
  })
  .catch(error => {
    console.error('获取用户列表失败:', error);
  });

// 发起 POST 请求
api.post('/users', { name: '张三', age: 30 })
  .then(response => {
    console.log('用户创建成功:', response);
  })
  .catch(error => {
    console.error('创建用户失败:', error);
  });
console 命令行工具 X clear

                    
>
console