小程序数据请求封装
微信小程序的数据请求封装,利于模块化开发和维护。
//接口请求封装
requestUrl:function (
url,
params,
method = "post"
) {
wx.showLoading({
title: '加载中',
});
let server = 'https://xxx.com/xxxx/'; //正式域名
let sessionId = wx.getStorageSync("token"),
that = this;
if (sessionId != "" && sessionId != null) {
var header = {
'content-type': 'application/x-www-form-urlencoded',
'token': sessionId
}
} else {
var header = {
'content-type': 'application/x-www-form-urlencoded'
}
}
return new Promise(function(resolve, reject) {
wx.request({
url: server + url,
method: method,
data: params,
header: header,
success: (res) => {
wx.hideLoading();
if (sessionId == "" || sessionId == null) {
wx.setStorageSync('token',res.data.token) // 如果本地没有就说明第一次请求 把返回的 sessionId 存入本地
}
// console.log(res.data.code)
if (res.data.code == '-4001') {
wx.reLaunch({
url: '/pages/login/login',
})
}
if (res.data.code == '0' || res['statusCode'] !== 200) {
wx.showToast({
title: res.data.msg || '请求出错,稍后重试',
icon: 'none',
duration: 2000,
mask: true
});
}
resolve(res.data)
},
fail: function(res) {
wx.hideLoading();
wx.showToast({
title: res.data.msg || '',
icon: 'none',
duration: 2000,
mask: true
})
reject(res.data)
},
complete: function() {
wx.hideLoading()
}
})
})
.catch((res) => {})
}