uniapp中axios二次封装
时间: 2023-10-15 18:06:40 浏览: 119
在uniapp中进行axios二次封装可以实现更方便和统一的网络请求管理。以下是一个可能的二次封装示例:
```javascript
// 在项目中新建一个api.js文件,用于封装所有的网络请求接口
import axios from 'axios'
// 创建axios实例
const instance = axios.create({
baseURL: 'https://api.example.com', // 设置请求的基础URL
timeout: 5000 // 设置请求超时时间
})
// 封装统一的请求方法
const request = (method, url, data) => {
return new Promise((resolve, reject) => {
instance.request({
method,
url,
data
}).then(response => {
resolve(response.data)
}).catch(error => {
reject(error)
})
})
}
// 封装具体的接口请求方法
export const getUserInfo = (userId) => {
return request('get', '/user/info', { userId })
}
export const updateUser = (userId, userInfo) => {
return request('post', '/user/update', { userId, userInfo })
}
// 在main.js中引入api.js,并挂载到Vue原型上
import Vue from 'vue'
import * as api from './api'
Vue.prototype.$api = api
// 在组件中使用
export default {
methods: {
getUserInfo () {
this.$api.getUserInfo(123).then(data => {
// 处理返回的用户信息
}).catch(error => {
// 处理错误
})
}
}
}
```
这样,你就可以在uniapp中使用封装后的axios进行网络请求。根据需要,你可以在api.js中继续封装其他的请求方法,实现更加简洁和可复用的代码。
阅读全文