今天开始我会把自己在微信开发中的各个功能的实现做一个总结,自己总结的同时也和大家来一起学习、交流。
就先从微信的接口请求封装开始讲起吧。
function requestBase(api, data, success, fail)
{
wx.request({
url: app.data.url + api,
method: "POST",
header: { "Content-Type": "application/x-www-form-urlencoded" },
data: data,
success: success,
fail: fail
})
}
function dbRequest(api, data, success, fail) {
islogin(function(){
requestBase(api, data, function (res) { success(res) }, function (e) { fail(e) });
});
}
这一个公共的微信小程序请求方法的封装,因为我们开发使用的接口都为“post”请求的方法所以这里在使用时就不需要传method的参数过来了这里我们直接写死。url的app.data.url为我们在 app.js中写好的接口直接调用。data根据接口的不同来传输数据。
下面是实际操作时的使用方法
var db=require("dbrequest.js")
function getCustomerlist(data,success, fail) {
db.dbRequest("custom/list", data, function (res) {
if (res.data != null && res.data.customers != null && res.data.customers.length > 0) {
success(res.data.customers);
}
else {
success([]);
}
}, function (err) {
fail("查询错误!");
})
}
module.exports = {
getCustomerlist: getCustomerlist
}
这里我调用"dbrequest.js"中的dbRequest方法。把接口的数据进行封装并吧获取的数据返回。
function LoadCustomerList(that) {
wx.showToast({
title: 'loading...',
icon: 'loading'
})
let data = {
};
customerjs.getCustomerlist(data,
},
}
在我要用上面的接口时我就需要吧data数据写入data中进行发送, 并调用getCustomerlist来发送接口请求。
在使用接口时要区分data发送的数据类型,我在使用时因为数据类型的问题就出过问题,并很久没有解决所以在请求数据时接口的类型要弄清楚。