成爲前端架構師的第一步

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
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章