小程序request封装

我们知道,一个项目开发时,有许多环境,如:开发环境,测试环境,预生产环境,生成环境,若项目上线时要每个接口的域名改一遍,这是效率很低的做法。另外,许多接口都有前缀,例如 /api/  /wxapi/  /adorApi/等,所以封装请求以提高效率是很有必要的。

我封装的一个request如下,部分代码参考网络,我通常会将此文件放在public文件夹中:

var DOMAIN ="https://dev.abc.com"
var requestHandler = {
  params: {},
  API_URL: '',
  token: '',
  header: {'content-type': 'application/json'} ,
  success: function (res) {
    // success  
  },
  fail: function () {
    // fail  
  },
}

//GET请求  
function GET(requestHandler) {
  request('GET', requestHandler)
}
//POST请求  
function POST(requestHandler) {
  request('POST', requestHandler)
}

function request(method, requestHandler) {
  //注意:可以对params加密等处理  
  var params = requestHandler.params;
  var API_URL = requestHandler.API_URL;
  wx.request({
    url: DOMAIN+"/api/" + API_URL,
    data: params,
    method: method,
    header: requestHandler.header, // 设置请求的 header  
    success: function (res) {
      //注意:可以对参数解密等处理  
      
      requestHandler.success(res.data)
     
    },
    fail: function () {
      requestHandler.fail()
    },
    complete: function () {
      // complete  
    }
  })
}

module.exports = {
  GET: GET,
  POST: POST,
  DOMAIN: DOMAIN
}  

最后导出DOMAIN是为了方便引用网络图片路径,要不然wxml中很长一条路径看得眼花!

原文地址:https://www.cnblogs.com/ww01/p/9778288.html