/**
* 封装 HTTP 请求
* @param {Object} options 请求参数
* @param {String} options.action 请求方法
* @param {Object} options.data 方法私有参数
* @param {Object} options.headers 请求头
* @param {Boolean} options.loading 是否显示 loading
* @param {Function} options.success 成功回调函数
* @param {Function} options.fail 失败回调函数
* @param {Function} options.complete 完成回调函数
*/
function http(options) {
// 显示 loading
if (options.loading) {
wx.showLoading({
title: '加载中...',
});
}
let http_data = JSON.stringify(options.data);
// 缓存ID token 获取存储的token放到请求头
wx.request({
url: keyConfig.apiUrl,
method: 'POST',
data: {
method: options.action,
data: http_data,
timestamp: TIMESTAMP,
sign: SIGN,
},
header: options.headers || {
'HTTP_AUTH_ID': wx.getStorageSync('token'),
'content-type': 'application/x-www-form-urlencoded',
},
success: function (res) {
// 隐藏 loading
if (options.loading) {
wx.hideLoading();
}
// 请求成功
if (res.statusCode >= 200 && res.statusCode < 300) {
// 执行成功回调函数
let {error,msg} = res.data
if(error == 500){
wx.showToast({
title: msg,
icon: 'error',
duration: 2000
})
}
options.success && options.success(res.data);
} else {
// 执行失败回调函数
options.fail && options.fail(res);
}
},
fail: function (res) {
// 隐藏 loading
if (options.loading) {
wx.hideLoading();
}
// 执行失败回调函数
options.fail && options.fail(res);
},
complete: function (res) {
// 执行完成回调函数
options.complete && options.complete(res);
},
});
}
export default http;
封装 HTTP 请求
最新推荐文章于 2024-07-31 14:35:30 发布