export default {
    //通用Post请求方法
    Post: function(url, data = {}, isloading = false) {
      var promise = new Promise(function(resolve, reject) {
        //判断是否需要显示加载状态
        if (isloading) {
          wx.showLoading({
            title: '加载中...'
          })
        }
        wx.request({
          url: url,
          data: data,
          method: 'POST',
          header: {
            'content-type': 'application/json'
          },
          success: function(data) {
            if (isloading) {
              wx.hideLoading();
            }
            if (data.statusCode == 200) {
              resolve(data.data);
            } else {
              wx.showModal({
                title: '系统提示',
                content: '服务器请求错误',
                showCancel: false,
              });
              reject('服务器请求错误');
            }
          },
          fail: function(data) {
            if (isloading) {
              wx.hideLoading();
            }
            wx.showModal({
              title: '系统提示',
              content: data.errMsg,
              showCancel: false
            });
            reject(data.errMsg);
          }
        });
      });
      return promise;
    },
    //通用Get请求方法
    Get: function(url, data = {}, isloading = false) {
      var promise = new Promise(function(resolve, reject) {
        //判断是否需要显示加载状态
        if (isloading) {
          wx.showLoading({
            title: '加载中...'
          })
        }
        wx.request({
          url: url,
          data: data,
          method: 'GET',
          header: {
            'content-type': 'application/json'
          },
          success: function(data) {
            if (isloading) {
              wx.hideLoading();
            }
            if (data.statusCode == 200) {
              resolve(data.data);
            } else {
              wx.showModal({
                title: '系统提示',
                content: '服务器请求错误',
                showCancel: false,
              });
              reject('服务器请求错误');
            }
          },
          fail: function(data) {
            if (isloading) {
              wx.hideLoading();
            }
            wx.showModal({
              title: '系统提示',
              content: data.errMsg,
              showCancel: false
            });
            reject(data.errMsg);
          }
        })
      });
      return promise;
    },
    //下载文件接口
    DownLoad: function(url, isloading = false) {
      var promise = new Promise(function(resolve, reject) {
        //判断是否需要显示加载状态
        if (isloading) {
          wx.showLoading({
            title: '加载中...'
          })
        }

        wx.downloadFile({
          url: url,
          success(res) {
            if (res.statusCode === 200) {
              if (isloading) {
                wx.hideLoading();
              }
              resolve(res.tempFilePath);
            } else {
              if (isloading) {
                wx.hideLoading();
              }
              reject('服务器请求错误');
            }
          }
        });
      });
      return promise;
    },

    //发起支付
    WxPay: function(data) {
      var promise = new Promise(function(resolve, reject) {
        //开始发起支付
        wx.requestPayment({
          timeStamp: String(data.timeStamp),
          nonceStr: data.nonceStr,
          package: data.package,
          signType: data.signType,
          paySign: data.paySign,
          success: function(res) {
            resolve(res);
          },
          fail: function(res) {
            reject(res);
          },
          complete: function(res) {
          }
        });
      });
      return promise;
    }
}