前言:在实际的项目中,面对大量的使用axios请求数据,会使项目代码又多又乱,封装接口API与Axios的重要性不言而喻,不仅可以使代码更加的简洁优雅,而且会使修改接口,维护代码变得更加简单清晰。
一.Axios的封装
在vue项目中我们使用的是axios进行数据请求,还可以利用它进行请求拦截,响应拦截等操作
1. 安装
npm install axios; // 安装axios
2. 配置
在src文件夹中新建一个文件夹,例如request,在该文件夹下创建一个http.js文件(下文都以此做示例)
import axios from 'axios'; //引入axios
import router from '../router'; //引入路由
import store from '../store/index'; //引入我的Vuex配置的文件
import {Message} from "element-ui" //基于element-ui的弹框组件
上面是我用到的一些东西,另外如果post请求数据传递参数需要序列化时,可以下载引入qs插件
3. 提示弹框,跳转登录,请求失败后的统一处理
/**
* 提示函数
* 显示一秒后关闭
*/
const tip = msg => {
Message({
message: msg,
duration: 1000,
type:"error"
});
}
/**
* 跳转登录页
* 携带当前页面路由,以期在登录页面完成登录后返回当前页面
*/
const toLogin = () => {
router.replace({
path: '/Login',
query: {
redirect: router.currentRoute.fullPath
}
});
}
// 服务器状态码不是2开头的的情况