uniapp + vue3 使用axios

场景

uniapp自带的uni.request不太好用,也有可能是自己用axios用的太熟悉了,所以还是用axios趁手点,所以尝试在uniapp中使用axios。

操作

因为uniapp项目没有package.json,所以先在项目根目录下执行 npm init,

执行完毕后直接 npm install axios, 这时候axios就被添加进来。

此时其实就可以直接使用了如下:

我给axios封装成了一个工具类:

在这里插入图片描述

import axios from 'axios'

const fetch = axios.create({
    baseURL: '/api',
    timeout: 30000
})

const cancelLoading = (config) => {

}


fetch.interceptors.request.use(req => {
    return req
}, (error) => {
    return Promise.reject(error)
})


fetch.interceptors.response.use(
    config => {
        try {
            const code = config.data.code
            // 成功处理
            if (code != 0) {

                return Promise.reject(config)
            } else {
                return config.data
            }
        } finally {
            cancelLoading(config)
        }
    },
    (error) => {
        try {
            // 失败处理
            if (error?.response?.status == 401) {

            }
            return Promise.reject(error)
        } finally {
            cancelLoading(error)
        }
    }
)


export default fetch


之后在uniapp的.vue文件中直接使用即可:

.....
import fetch from '@/utils/fetch.js'
...
fetch.post('/xxx/xxx', this.data).then(res => {
uni.showToast({
			title: `操作成功`
		})
	})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值