首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >记录封装Aioxs

记录封装Aioxs

原创
作者头像
青丝束马尾
修改2025-03-27 12:56:06
修改2025-03-27 12:56:06
1850
举报
文章被收录于专栏:Spring学习笔记Spring学习笔记

1、封装

代码语言:js
复制
// request.js
import axios from 'axios';

const request = axios.create({
    baseURL: import.meta.env.VITE_API_BASE_URL,   // baseUrl通过外置环境变量控制,也可直接使用URl
    timeout: 5000,
    headers: {
        'Content-Type': 'application/json'
    }
  });

  request.interceptors.request.use(
    (config) => {
        // 添加token
        const token = typeof window !== "undefined" ? localStorage.getItem("token") : null;
        if (token) {
            config.headers.Authorization = `Bearer ${token}`;
        }
        return config;
    },
    (error) => {
        return Promise.reject(error);
    }
  );

  request.interceptors.response.use(
    (response) => {
        return response.data;
    },
    (error) => {
        return Promise.reject(error);
    }
  );

  export default request;

2、使用

代码语言:js
复制
// 在需要进行 API 调用的文件中
import request from './request';

// 示例:获取数据
const fetchData = async () => {
  try {
    const data = await request.get('/data'); // 假设你的 API 路径是 /data
    console.log('Data:', data);
  } catch (error) {
    console.error('API call error:', error);
  }
};

// 调用示例函数
fetchData();

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档