微信小程序中的axios二次封装
时间: 2024-10-29 17:14:10 浏览: 26
微信小程序中的 Axios 是一个常用的 JavaScript HTTP 库,用于发起网络请求。为了简化微信小程序中对 Axios 的使用并提升代码的复用性和可维护性,通常会对其进行二次封装。以下是封装 Axios 的基本步骤:
1. **引入 Axios**:首先需要安装 Axios 插件,可以使用 npm 或者 yarn 安装:
```
npm install axios
```
2. **创建 Axios 实例**:在小程序的入口文件(如 app.js)中,初始化一个 Axios 实例,配置基础URL和默认选项(如超时时间、token 等):
```javascript
const axios = require('axios').create({
baseURL: 'https://your-api-url.com', // API 基础地址
timeout: 5000, // 请求超时时间
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + wx.getStorageSync('token') // 如果有需要,添加身份验证信息
}
});
```
3. **封装常用操作**:为常见的请求操作(如获取数据、发送 POST 数据等)编写函数,并传入 Axios 实例作为参数:
```javascript
export function request(method, url, data) {
return new Promise((resolve, reject) => {
axios({
method,
url: `${baseURL}${url}`,
data: JSON.stringify(data), // 将非对象类型的数据转为字符串
headers: {
...axios.defaults.headers.common,
'Content-Type': 'application/json'
}
})
.then(response => resolve(response.data))
.catch(error => reject(error));
});
}
```
4. **错误处理**:为了更方便地处理请求结果和异常,可以在封装的函数内部添加统一的错误处理逻辑。
5. **使用封装后的 Axios**:现在你可以直接在小程序的其他文件(如 page 文件或 utils 文件)中导入并使用这个封装好的 `request` 函数进行网络请求了。
阅读全文