介绍
1. 前言
在开发 uni-app 项目时,我们经常需要对接后端接口进行数据请求。虽然 uni-app 框架本身提供了uni.request
用于发起请求,但在实际项目中,我们往往会封装一些请求库来简化请求的操作,提高代码复用性和可维护性。
本文将介绍基于 uni.request
实现一款小而美的请求工具,通过大约 100 行代码的实现,为 uni-app 项目打造一个简洁高效的请求库。
2. 为什么要开发请求库
在 uni-app 中使用 uni.request
来发起请求,但这种直接调用 uni.request
的方式在实际开发中存在一些不足之处,比如请求逻辑过于分散、请求参数拼接繁琐等。因此,我们希望通过封装一个简单的请求库来优化这一过程。
在 uni-app 使用 uni.request
的方式:
js
uni.request({
// url 仅为示例,并非真实接口地址。
url: "https://www.example.com/request",
data: {
text: "uni.request",
},
header: {
// 自定义请求头信息
"custom-header": "hello",
},
success: (res) => {
console.log(res.data);
this.text = "request success";
},
});
以上的这种请求方式是在 uni-app 项目中最常见的代码书写方式,很简单也很好理解,但是无法支持 promise API 式的请求,不支持请求和响应拦截器,同时也不支持全局的变量配置,逻辑分散,不便于维护!
不过我最近看官方文档,官方已经对部分 API 进行了 Promise 封装
详情参考:官方 Promise - 封装
3. 适用领域
App开发
HTML5网站开发
微信小程序开发
4. 版权信息
uni-http遵循MIT开源协议,但禁止将此应用到非法的领域,如因此产生纠纷等法律问题,uni-http不承担任何责任。