2021SC@SDUSC
本次介绍自己定义的request方法,在本个小程序中使用了多次,主要实现获取数据中内容的功能。
该方法的形参是url, method, params, onSuccess, onFail,也因此该方法可使用的范围可以变得很广。
if ((method == 'GET' || method == 'get' || method == 'put' || method == 'PUT' || method == 'DELETE') && Object.keys(params).length > 0) {
let temp = ""
Object.keys(params).forEach(item => {
temp += "&" + item + "=" + params[item];
});
url += "?" + temp.substring(1, temp.length);
}
在上面这段代码中表明了当使用GET,get,put,PUT,DELETE时都可以对数组进行相应操作,Object.keys()用于获得由对象属性名组成的数组,可与数组遍历相结合使用,与for...in方法类似,强调了进入if的条件是数组长度要大于0,不可以是空数组。进入条件语句中后设置临时变量temp,并对temp进行相应赋值,然后获得所需要的url,foreach就是对数组进行一个循环查看,经过这一步获得了需要的url,可退出if语句。
wx.request({
url: constUtil.url + url,
method: method,
data: params,
header: {
'content-type': 'json' // 默认值
},
success:function(res) {
console.log(res)
if (res.data.success) {
if (onSuccess) {
onSuccess(res.data.result)
}
} else {
wx.showToast({
title: res.data.message,
icon: 'none',
})
if (onFail) {
onFail(res.data)
}
}
},
fail:function(res) {
console.log(res);
if (onFail) {
onFail(res.data)
}
},
complete: function() {
util.hideLoading();
}
})
接下来的代码是使用了插件中的request,发起了HTTPS网络请求,data中发送给服务器的是String类型,主要是判断信息是否相符,没有成功获取的话将调用showToast插件库进行信息的显示,并且也会在命令行进行提示。