任务:添加接口,修改某个页面的样式并通过接口把数据展示
任务比较简单,但是看了发送请求相关的代码,觉得很有学习意义!
之前个人项目发送请求用的是baseurl,而公司项目使用了webpack中的devServer,目前个人的理解的devServer相当于baseurl,但是能有很多个,同时也可以设置一些参数,公司在的项目使用到了changeOrigin: true。 能够把发送请求头中host会设置成target。目前不清楚作用
重写了axios中的httpRequest,其中主要包括三部分内容
ResponseHandler 这个函数目前不懂
export class ResponseHandler { constructor() {} excute(response) { const { data, config: {url} } = response return Promise.resolve(data) } }
- 定义了baseurl
写了HttpRequest构造函数,默认参数有延时时间、baseUrl、成功响应过滤数组、失败响应过滤数组、以及对并发请求的一个计数器
HttpRequest中,首先把原本axios的方法全部注入到HttpRequest中。let {all, spread} = axios const enhancedAxios = Object.assign(this, {all, spread})
HttpRequest中的方法有合并配置信息(其中有个参数指定了头部是否携带token)、重写post,get,put,delete(主要是对传递参数部分进行了重写)、各种响应的过滤(根据响应的成功或者失败进行处理,基本都用到了promise)、进度条的状态。
之后又对请求头信息进行了更加详细的重写,包括微信登录时的判定、人脸识别判定等
评论 (0)