小程序封裝request方法

封裝一個成本低,效率快,簡單又簡潔的方法

在公共的js文件中:
function commonAjax(url, types, data) {  //這裏的tpyes個人根據項目情況來定,也可以完全區分開
  wx.showLoading({
    title: '加載中...',
  })
  // 獲取公共配置
  var app = getApp()

  // 公共參數(一般寫接口的時候都會有些公共參數,你可以事先把這些參數都封裝起來,就不用每次調用方法的時候再去寫,)
  var publicParams = {
    // token: '',// 例如:這是我們自己的驗證規則
  }
  // 合併對象(公共參數加傳入參數合併對象) mergeObj對象在下面 es5方式
  // var datas = mergeObj(d, data)
  var datas = Object.assign(publicParams,data) //es6的方式

  // 這是es6的promise版本庫大概在1.1.0開始支持的,大家可以去歷史細節點去看一下,一些es6的機制已經可以使用了
  var promise = new Promise(function (resolve, reject, defaults) {
    // 封裝reuqest
    wx.hideLoading()
    wx.request({
      url: app.globalData.url + url,
      data: datas,
      method: (types === 1) ? 'GET' : 'POST',
      header: (types === 1) ? { 'content-type': 'application/json' } : { 'content-type': 'application/x-www-form-urlencoded' },
      success: resolve,
      fail: reject,
      complete: defaults,
    })
  });
  return promise;
}

module.exports = {
  commonAjax: commonAjax,
}

如何使用:

先導入  var commonRequest = require("../../x'x/x'x'x.js")

commonRequest.commonAjax("xxx/xxx", 2, {token: getApp().globalData.userData.token}).then(res=>{
        console.log(res)
        ......other code
    }, res => { wx.showToast({ title: '網絡錯誤!', icon: "loading" }) })
  }

 

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