一、为什么要进行封装
- 通常我们的项目会越做越大,页面也会越来越多,随之而来的是接口数量的增加。api统一管理,不管接口有多少,所有的接口都可以非常清晰,容易维护。
- 举个例子,当axios发生问题存在重大bug时,我们只需要修改封装部分代码即可修改全部接口(当然我们再次封装的请求需要使用现有参数格式)。
二、封装具体实现
import axios from "axios";
const codeMessage = {
200: "服务器成功返回请求的数据。",
201: "新建或修改数据成功。",
202: "一个请求已经进入后台排队(异步任务)。",
204: "删除数据成功。",
400: "发出的请求有错误,服务器没有进行新建或修改数据的操作。",
401: "用户没有权限(令牌、用户名、密码错误)。",
403: "没有访问权限",
404: "发出的请求针对的是不存在的记录,服务器没有进行操作。",
405: "请求行中指定的请求方法不能被用于请求相应的资源。",
406: "请求的格式不可得。",
410: "请求的资源被永久删除,且不会再得到的。",
422: "当创建一个对象时,发生一个验证错误。",
500: "服务器发生错误,请检查服务器。",
502: "网关错误。",
503: "服务不可用,服务器暂时过载或维护。",
504: "网关超时。",
};
/**
* @Description: 创建axios实例
*/
const servi