您的位置:首页 > 产品设计 > UI/UE

微信小程序对wx.request函数进行封装操作的代码示例

2018-03-08 20:26 1161 查看
//app.js
App({
onLaunch: function () {
},
networkEngine: require('utils/network.js')
})

// /utils/network.js
module.exports ={
send:function(){
console.log(arguments);
var that = this;
var pack = {};
if(arguments.length == 1){
pack = arguments[0];
}else if(arguments.length == 3){
pack.url = arguments[0];
pack.data = arguments[1];
pack.complete = arguments[2];
} else{
throw new Error('arguments_error');
}
var newPack = {};
newPack = pack.data;
var url = '';
if(pack.url.indexOf('/') === 0){
url = pack.url.substr(1, pack.url.length - 1);
}else{
url = pack.url;
}
wx.request({
url: "https://xxxxx" + '/' + url,
data: newPack,
header:{
'Content-Type': 'application/json'
},
method: 'POST',
success:function(res){
console.log('res:', res);
pack.complete(res.data.code, res.data.msg, res.data.data, pack.data);
},
fail:function(res){
pack.complete(-1, 'wechat_error', res, pack.data);
},
complete: function (res) {
}
})
}
}

//index.js
//获取应用实例
const app = getApp()
//import ListLodingState from '../list_loading_state/list_loading_state.js';
Page({
data: {
isVip: 50
},
onLoad: function () {
let instance = this;
instance.componentInit();
instance.initData();
},
componentInit:function(){
let instance = this;
//  instance.listLoadingState = new ListLoadingState(instance);
},
initData: function(){
let self = this;
self.loadData();
},
loadData: function(){
let self = this;
let instance = this;
let cmd = "isVip.php";
let paramter = {
user_id: 61152144
}

let successFn = function(data, app, instance){
console.log("1st request");
}
let errorFn = function(){

}
self._ajax(app, instance, cmd, paramter, successFn, errorFn);
},
_ajax: function(app, instance, cmd, paramter, successFn, errorFn){
let appTemp = app;
let instanceTemp = instance;
app.networkEngine.send(cmd, paramter, function(code, msg, data){
if(code == 0){
successFn(data, appTemp, instanceTemp);
instance.setData({
pageLoading: true,
show_network_error: false,
});
} else {
errorFn('微信调用networkEngine出现错误');
instance.setData({
pageLoading: true,
show_network_error: true,
});
}
})

}
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息