uniapp 全局请求封装
时间: 2023-08-13 13:09:25 浏览: 124
在 uni-app 中可以使用拦截器实现全局的请求封装。
具体实现方法如下:
1. 在项目的根目录下创建一个 `api` 文件夹,并在其中创建一个 `request.js` 文件。
2. 在 `request.js` 文件中定义一个全局请求函数,并使用 `uni.request()` 发起请求。
3. 在请求函数中可以添加一些公共的配置,例如请求头、请求方式等。
4. 使用 `export default` 导出请求函数。
5. 在 `main.js` 中引入 `request.js` 文件,并将其挂载到全局。
6. 在需要使用请求的页面或组件中,直接调用全局的请求函数即可。
示例代码:
```javascript
// api/request.js
export default function request(options) {
// 添加一些公共的配置
options.header = {
'Content-Type': 'application/json'
};
// 发起请求
return new Promise((resolve, reject) => {
uni.request({
...options,
success: res => {
resolve(res.data);
},
fail: err => {
reject(err);
}
});
});
}
```
```javascript
// main.js
import request from './api/request';
Vue.prototype.$request = request;
```
```javascript
// 在页面或组件中使用
methods: {
getData() {
this.$request({
url: 'https://www.example.com/api/data',
method: 'GET',
}).then(res => {
console.log(res);
}).catch(err => {
console.log(err);
});
}
}
```
这样就可以在全局使用封装好的请求函数进行网络请求了。
阅读全文