最近在研究封装axios的请求,最近整理出来两个封装,以及小程序的flyio请求的封装,基本上拿上来就能用话不多少进入正题
第一种axios的封装
拦截器什么的不用多写了 网上很常见的
首先项目要有基本的路径配置就是axios的baseURLs
const baseURLs = ' ' (这里写你的项目的基本路径)
然后配置所有的请求头
axios.defaults.baseURL = baseURLs (就是这样引用的 )
如果有请求头的问题的话,一般的话建议让后台添加一个那个字段,然后一般请求头就可以带上token
首先说一下第一种封装
以我这边的登录接口为例
export const checkLogin = (confing) => {
return axios.post('/login', confing).then(res => res.data)
}
使用方式为
如果你传入的对象为自己定义的对象的话方式为checkLogin ( { id: 2 } ).then(res=>{})
这里会自动解构出来
然后说一下第二种封装
这里的responseType可以不写,这个是导出excel的时候要用到的,基本的请求不用去写
使用方式的话跟上一种一样
Excel({ ids: arr }).then(res => {})
这种封装方法基本上都是大同小异,只要你理解了,基本上都不难
下面说一下flyio的封装其原理跟axios类似
这边flyio的封装没有使用请求头的方式
然后进行二次封装
调用的时候我是进行了处理,但是方式和axios是相同的
最后希望大家调用的时候多用用es7的async简直不要太好用