uniapp request 二次封装
时间: 2023-09-27 16:06:43 浏览: 121
vue axios基于常见业务场景的二次封装的实现
5星 · 资源好评率100%
在app开发中,为了简化请求的代码,可以对uni.request进行二次封装。这样可以统一处理请求的路径、参数和请求方式,同时也可以实现请求的拦截和响应的拦截处理。在封装中可以使用普通函数进行二次封装,也可以使用其他方式。以下是一个示例的二次封装代码:
```javascript
let baseUrl = 'http://localhost:3000'
export default {
get(url, data) {
return new Promise((resolve, reject) => {
uni.request({
data,
url: baseUrl + url,
method: 'get',
header: {},
success: (data) => {
// 做响应拦截
resolve(data)
},
fail: (err) => {
reject(err)
}
})
})
},
post(url, data) {
return new Promise((resolve, reject) => {
uni.request({
data,
url: baseUrl + url,
method: 'post',
header: {},
success: (data) => {
// 做响应拦截
resolve(data)
},
fail: (err) => {
reject(err)
}
})
})
},
http({ url, method, data }) {
if (method === 'get') {
this.get(url, data)
} else {
this.post(url, data)
}
}
}
```
这个示例中,封装了get和post方法来发送请求,并在请求中加入了基础路径baseUrl。通过调用http方法,可以根据请求方式来选择调用get或post方法。这样可以简化请求代码,提高代码的可维护性。
阅读全文