vue-axios-plugin的用法,以及快速的为项目配置多个接口

// 响应拦截处理

resHandleFunc: response => response,

resErrorFunc: error => Promise.reject(error)

})

配置参数


除了 axios 提供的默认 请求配置vue-axios-plugin 也提供了 request/response 拦截器配置,如下:

| 参数名 | 类型 | 默认值 | 描述 |

| — | — | — | — |

| reqHandleFunc | {Function} | config => config | 请求发起前的拦截处理函数 |

| reqErrorFunc | {Function} | error => Promise.reject(error) | 处理请求错误的函数 |

| resHandleFunc | {Function} | response => response | 响应数据处理函数 |

| resErrorFunc | {Function} | error => Promise.reject(error) | 响应错误处理函数 |

示例

在 Vue 组件上添加了 $http 属性, 它默认提供 get 和 post 方法,使用如下:

this.$http.get(url, data, options).then((response) => {

console.log(response)

})

this.$http.post(url, data, options).then((response) => {

console.log(response)

})

你也可以通过 this.$axios 来使用 axios 所有的 api 方法,如下:

this.$axios.get(url, data, options).then((response) => {

console.log(response)

})

this.$axios.post(url, data, options).then((response) => {

console.log(response)

})

每个请求方法可以传入三个参数,第一个参数url多接口地址,第二参数是接口请求参数。那么,第三个参数是干什么用的呢?

如果一个项目当中,需要配置多个请求接口的话,该如何做呢?

如果使用vue-axios-plugin插件的话,会很方便的解决这个问题,这个时候就需要用到请求方法的第三个参数。

首先要明白,第三个参数的类型是对象或者数组(有疑问,自行研究);

例如:

const data = {

phone: ‘renlei’,

code: ‘12’

};

this.$http.get(‘/cardLists’, data, {

interfaceType: ‘first’

}).then(response => {

console.log(response);

});

this.$http.post(‘/login’, data, {

interfaceType: ‘second’

}).then(response => {

console.log(response);

});

这里我分别使用了get和post请求,并且都给其传入了第三个参数。这个第三个参数都是对象,对象里面只有一个键值对,键interfaceType相同,但是值不同。

然后在配置vue-axios-plugin的文件当中使用传入的第三个参数,例如:

// 请求拦截处理

reqHandleFunc: config => {

console.log(config.interfaceType === ‘first’);

/* config.baseURL =

process.env.NODE_ENV === ‘production’

? ‘https://www.520mg.com’
‘http://rap2api.taobao.org/app/mock/254896/’; */

let url = ‘http://129.168.1.87/first’;

if (config.interfaceType === ‘first’) {

url = ‘http://129.168.1.87/first’;

} else if (config.interfaceType === ‘second’) {

url = ‘http://129.168.30.85/second’;

}

config.baseURL = url;

config.headers[‘Content-Type’] = ‘application/json’;

config.headers.Accept = ‘application/json’;

config.retry = 4;

config.retryDelay = 1000;

config.timeout = 60000;

return config;

},

如果出现了一种需求是post像get一样使用params传参,那么该如何去做呢?

解决方法:

发表的axios签名是axios.post(url[, data[, config]])。所以你想在第三个参数中发送params对象:

具体包做法是:

const data = {

phone: ‘renlei’,

code: ‘12’

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

13568486809)]

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

[外链图片转存中…(img-SdIjK4XL-1713568486810)]

[外链图片转存中…(img-EaS90EqX-1713568486810)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值