【vue3+ts】封装axios

好久不见,终于我又开始写博客了!
最近在研究vue3和ts,准备重构一个vue2的工程。
vue3+ts的工程已经搭建好了,现在开始封装axios。

1、先在src目录下新建一个api文件夹,新建文件http.ts。
在这里插入图片描述
2、在项目中安装axios

npm i axios

3、实现axios封装,分为4步。
1)引入axios,创建axios实例
2)请求拦截
3)响应拦截
4)暴露实例

import axios, { AxiosResponse } from 'axios'
const api = axios.create({
    baseURL: 'http://localhost:5000/api/',
    timeout: 5000,
    headers: {
        "Content-type": 'application/json;charset:utf-8'
    }
}
)
//请求拦截
api.interceptors.request.use((config: any) => {
    if (localStorage.getItem('token')) {
        config.headers.token = localStorage.getItem('token') || ''
    }
    return config
})
//响应拦截
api.interceptors.response.use((res: any) => {
    const msg = res.msg || ''
    const result = res.data || {}
    if (msg === 'success') {
        return result
    } else {
        return Promise.reject(res.data)
    }
}, (err) => {
    console.error(err)
})
export default api;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值