uniapp项目实用的http请求封装
时间: 2023-08-28 22:06:04 浏览: 106
uniapp封装好的request请求
在Uniapp项目中,可以使用uni.request()方法来进行http请求,但是每次请求都需要写重复的代码,会造成代码冗余和不易维护。因此,我们可以封装一个http请求的工具类,方便我们在项目中调用。
具体实现步骤如下:
1. 在项目的common文件夹下新建一个http.js文件,用于封装http请求的工具类。
2. 在http.js中定义一个request()方法,用于发送http请求,方法传入三个参数:请求地址、请求参数和请求方法。其中请求方法默认为GET请求,如果需要发送POST请求,可以在调用request()方法时传入"POST"参数。
3. 在request()方法中,使用uni.request()方法发送http请求,并返回一个Promise对象,以便在请求完成后进行处理。
4. 在调用request()方法时,使用async和await关键字来异步发送http请求,并在请求完成后进行处理。
下面是http.js的代码实现:
```
/**
* 封装http请求工具类
*/
class Http {
/**
* 发送http请求
* @param {string} url 请求地址
* @param {object} data 请求参数
* @param {string} method 请求方法(默认为GET)
*/
static async request(url, data = {}, method = "GET") {
// 将请求方法转为大写
method = method.toUpperCase();
// 发送http请求
const res = await uni.request({
url,
data,
method,
header: {
"Content-Type": "application/json"
}
});
// 请求成功
if (res.statusCode === 200) {
return res.data;
}
// 请求失败
else {
throw new Error(res.errMsg);
}
}
}
export default Http;
```
使用案例:
```
// 引入http请求工具类
import Http from "@/common/http.js";
// 发送GET请求
Http.request("https://api.example.com/getData", { id: 1 }).then(res => {
console.log(res);
}).catch(err => {
console.log(err);
});
// 发送POST请求
Http.request("https://api.example.com/postData", { name: "张三" }, "POST").then(res => {
console.log(res);
}).catch(err => {
console.log(err);
});
```
这样,我们就可以方便地在项目中调用http请求了,同时也避免了重复的代码,提高了代码的可维护性。
阅读全文