成为前端架构师的第一步

1.首先封装公共地址

var baseURL = 'http://hmspapi.afarsoft.com/';
module.exports = {
  baseURL: baseURL
} 

2. 封装请求

var baseURL = require('/api.js');
// 展示进度条的网络请求
// url:网络请求的url
// params:请求参数
// message:进度条的提示信息
function requestLoading(url, params, message, methods) {
  return new Promise(function(resolve, reject) {
    var method = methods || "GET";
    if (message != "") {
      wx.showLoading({
        title: message,
      })
    }
    var token = "";
    wx.getStorage({
      key: 'token',
      success: function (res) {
        token = res.data
      },
      fail:function(res){
        token = ""
      }
    })
    var token = wx.getStorageSync('token');
    wx.request({
      url: baseURL.baseURL + url,
      data: params,
      header: {
        'Content-Type': 'application/json',
        'authorization': token,
        'Abp.TenantId':'2'
      },
      method: method,
      success: function(res) {
        if (message != "") {
          wx.hideLoading()
        }
        //请求成功
        //判断状态码---errCode状态根据后端定义来判断
        if (res.statusCode == 200) {
          if (res.data.Result.Code == 0){
            resolve(res);
          }else{
            wx.hideLoading();
            setTimeout(function () {
              wx.showToast({
                title: res.data.Result.Message,
                icon: 'none',
                duration: 2000
              })
            }, 500)
            resolve(res);
          }
          
        } else {
          wx.hideLoading();
          console.log(res)
          setTimeout(function() {
            wx.showToast({
              title: res.data.Error.Message,
              icon: 'none'
            })
          }, 500)
          //其他异常
          reject('运行时错误,请稍后再试');
        }
      },
      fail: function(res) {
        wx.hideNavigationBarLoading()
        if (message != "") {
          wx.hideLoading();

          setTimeout(function() {
            wx.showToast({
              title: res.data.Error.Message,
              icon: 'none'
            })
          }, 500)
        }
        //请求失败
        reject(err);
      },
      complete: function(res) {

      },
    })
  })
}
module.exports = {
  requestLoading: requestLoading
}
发布了35 篇原创文章 · 获赞 47 · 访问量 8597

猜你喜欢

转载自blog.csdn.net/qq_40665861/article/details/103111016