axios 模块化管理接口

本文介绍如何在项目中有效地利用axios库,通过模块化管理API接口,提高代码复用性和可维护性。内容包括接口的分类、封装、错误处理以及如何组织模块结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// Http.js
// 在http.js文件中,处理axios
import axios from 'axios'
// 引入qs模块,用来序列化post类型的数据
import QS from 'qs'
import {
    Http2SecureServer } from 'http2';
// 环境的切换
// 我们的项目环境可能有开发环境、测试环境和生产环境。我们通过node的环境变量来匹配我们的默认的接口url前缀。axios.defaults.baseURL可以设置axios的默认请求地址就不多说了。
 
    axios.defaults.baseURL = 'aaa/aaa/';
    // 通过axios.defaults.timeout设置默认的请求超时时间。例如超过了10s,就会告知用户当前请求超时,请刷新等。
    axios.defaults.timeout = 10000
    // post请求的时候,我们需要加上一个请求头,所以可以在这里进行一个默认的设置,即设置post的请求头为application/x-www-form-urlencoded;charset=UTF-8
    // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
    withCredentials:true 
// 请求拦截器
axios.interceptors.request.use(
    config => {
   
        // 如果存在,则统一在http请求的header都加上token,这样后台根据token判断你的登录情况
        // 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断 
        config.headers = {
   
            'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'
        }
        // debugger
        const token = 'abcdefg';
        token && (config.headers.Authorization = token);
        return config;
    },
    error => {
   
        return Promise.error<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值