微信小程序HTTP接口请求封装可以让开发者在进行后端请求时,不需要每次都编写相同的请求代码,提高了开发效率和代码可维护性。以下是实现步骤:
1.创建请求封装工具类
可以创建一个名为request.js
的文件,使用ES6语法定义一个请求类,通过wx.request
来进行请求。请求封装可以支持对请求头、请求体、请求地址、请求类型等进行配置。在进行请求后,利用Promise
对象进行异步处理,返回请求结果。
class Request {
// 构造函数
constructor() {
this._baseUrl = ''; //请求地址
this._header = {}; //请求头
this._method = 'GET'; //请求方法
this._dataType = 'json'; //返回数据类型
this._response = undefined; //响应结果
}
// 设置请求地址
set baseUrl(url) {
this._baseUrl = url;
}
// 设置请求头
set header(header) {
this._header = header;
}
// 设置请求方法
set method(method) {
this._method = method;
}
// 设置返回数据类型
set dataType(type) {
this._dataType = type;
}
// 封装请求
async request(url, data = {}) {
return await new Promise((resolve, reject) => {
wx.request({
url: this._baseUrl + url,
header: this._header,
method: this._method,
dataType: this._dataType,
data: data,
success: res => {
this._response = res;
resolve(res);
},
fail: err => {
this._response = err;
reject(err);
}
})
})
}
}
export default Request;
2.使用封装工具类
在需要进行请求的页面中,导入request.js
文件,实例化请求类。可以通过设置类中的属性值来配置请求,调用request
方法来进行请求。接收到的返回结果为一个Promise
对象,可以使用then
方法处理请求成功后的逻辑,使用catch
方法处理请求失败后的逻辑。以下是两个示例:
// 示例1:GET请求
import Request from './request.js'; //导入request.js文件
const request = new Request(); //实例化请求类
// 设置请求地址、请求头、请求方法等
request.baseUrl = 'https://jsonplaceholder.typicode.com';
request.header = { 'content-type': 'application/json' };
request.method = 'GET';
// 调用请求
request.request('/posts')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
// 示例2:POST请求
import Request from './request.js';
const request = new Request();
request.baseUrl = 'https://jsonplaceholder.typicode.com';
request.header = { 'content-type': 'application/json' };
request.method = 'POST';
const postData = { title: 'foo', body: 'bar', userId: 1 };
request.request('/posts', postData)
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
以上两个示例分别展示了GET请求和POST请求的使用方法。在其中,我们实例化请求类,设置请求地址、请求头、请求方法等属性,调用request
方法进行请求,然后分别通过then
和catch
方法处理请求的成功和失败逻辑。这样就可以完成HTTP请求的封装了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序HTTP接口请求封装的实现 - Python技术站