小程序的请求 方式封装

https://juejin.im/post/6846687604360871943 参考

工作中使用到的另外一种

var app = getApp();

/**
 * 处理请求
 * param:
 *    url:请求地址
 *    body: 请求参数
 *    method: 请求方法(GET, POST))
 *    responseType: 返回数据类型
 */
var doRequest = function(param, successFun, failFun) {
    wx.showLoading({
        title: '加载中'
    })
    if (!param.url) {
        console.error("请传入请求地址")
        return;
    }
    if (!param.body) {
        console.error("请传入请求参数")
        return;
    }

    wx.request({
        url: app.globalData.serverUrl + param.url,
        data: {
            hotel_group_id: app.globalData.hotel_group_id,
            create_user: 0,
            modify_user: 0,
            ...param.body
        },
        method: param.method ? param.method : 'GET',
        dataType: "json",
        success: function(res) {
            wx.hideLoading();
            if (!res.data) {
                wx.showToast({
                    title: '请求错误',
                    icon: 'none',
                })
            } else {
                if (res.data.code != '00000') {
                    wx.showToast({
                        title: res.data.message,
                        icon: 'none'
                    })
                } else {
                    if (successFun && successFun instanceof Function) {
                        successFun(res.data.data);
                    }
                }
            }
        },
        fail(res) {
            wx.showToast({
                title: '网络异常',
                icon: 'none',
                success: function(res) {
                    if (failFun && failFun instanceof Function) {
                        failFun(res);
                    }
                }
            })
        }
    })
}
module.exports = {
    doRequest: doRequest
}