欢迎访问我的博客,目前从事Machine Learning,欢迎交流

小程序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中很长一条路径看得眼花!

posted @   有蚊子  阅读(948)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示