React 模块化Axios封装请求 统一响应格式 请求统一处理

依赖

javascript 复制代码
npm i  axios

拦截器

utils/request.js

javascript 复制代码
import axios from "axios";

const request = axios.create({
    baseURL: 'https://api.mxin.moe',
    timeout: 1000 * 10
});

// 请求拦截器
request.interceptors.request.use(req => {
    // 使用 headers 来设置 token
    req.headers["token"] = '123455';
    return req;
}, (error) => {
    // 请求错误处理
    return Promise.reject(error);
});

// 响应拦截器
request.interceptors.response.use(res => {
    return res.data; // 只返回响应的 data 部分
}, (error) => {
    // 响应错误处理
    return Promise.reject(error);
});

export default request;

接口模块化

api/user/info.js

javascript 复制代码
import request from "../../utils/request";

export function getUserInfo(params){
    return request({
        url:'/api/v1/mac/vendor',
        method:'get',
        params
    })
}

使用

javascript 复制代码
import {getUserInfo} from "../../api/user/info";
import {useState} from "react";

const Login = () => {
   const [user,setUser] =useState({})


    return (
        <div>
         <button onClick={()=>{
           getUserInfo({
                daxue:'武汉大学'
            }).then(res=>{
                setUser(res)
               console.log(user)
           })
         }}>登录</button>
        </div>
    );
};
export default Login;
相关推荐
小小小小宇4 分钟前
设计稿转代码:如何将生成代码与内部组件库关联
前端
七牛云行业应用5 分钟前
别每个 AI 工具单独配了!MCP 一次搭建,Claude、Cursor、TRAE 全能用
前端
_xaboy5 分钟前
FormCreate 设计器 v6.3 正式发布:AI 表单助理3.0登场!
前端·vue.js·低代码·开源·表单设计器
胡志辉6 分钟前
邮件中点击“加载图片”,你的IP地址已经被泄漏
前端·后端·安全
openKaka_18 分钟前
reconcileChildren 深入:React 如何根据 ReactElement 构建子 Fiber
前端·javascript·react.js
三翼鸟数字化技术团队33 分钟前
事件循环原来这么简单!
前端
gf132111134 分钟前
python_【更新已发送的消息卡片】
java·前端·python
zithern_juejin41 分钟前
typeof、instanceof与Object.prototype.toString()
javascript
一点一木44 分钟前
2026 终端 AI 编码 Agent 六大工具深度横评
前端·人工智能·claude
Highcharts.js1 小时前
Highcharts React v5升级三问|最大的升级方向是什么?需要注意什么?有什么优化?
前端·javascript·react.js·前端框架·highcharts·大数据渲染·前端性能