手机网站封装小程序-Momo小程序实现网络请求的简单封装

本文主要介绍陌陌小程序网络请求简单封装示例解读的相关信息。 有需要的同学可以参考以下

陌陌小程序对网络请求的简单封装解读

在Momo小程序中实现网络请求比Android简单得多。 我们只需要利用它提供的API就可以解决网络请求的问题。

为了数据安全手机网站封装小程序,陌陌小程序网络请求仅支持https。 其实每个参数的含义并不详细。 如果你不熟悉它,你可以; 你可以阅读官方文档network request api。 我们在使用request的时候手机网站封装小程序,header-typ的内容默认是application/json,并且文档指出method的值必须是小写,但是经过测试,大写也可以成功。 请求的默认超时时间为60s。 如果我们想自定义超时时间,可以在app.json中添加如下代码片段,分别设置请求、socket、上传文件、下载文件的超时时间。

手机网站封装小程序-Momo小程序实现网络请求的简单封装

"networkTimeout": {
  "request": 5000,
  "connectSocket": 5000,
  "uploadFile": 5000,
  "downloadFile": 5000
 }

登录后复制

设置好超时时间后,我们开始封装网络请求。 我们平时接触到的网络请求通常分为两种,一种是后台运行,没有加载对话框提示,另一种是有提示的。 如果提示正在加载数据,那么我们以此为线索进行封装。首先创建一个network网络请求工具类,然后

手机网站封装小程序-Momo小程序实现网络请求的简单封装

// 展示进度条的网络请求
// url:网络请求的url
// params:请求参数
// message:进度条的提示信息
// success:成功的回调函数
// fail:失败的回调
function requestLoading(url, params, message, success, fail) {
 console.log(params)
  wx.showLoading({
   title: message,
  })
 wx.request({
  url: url,
  data: params,
  header: {
   'content-type': 'application/x-www-form-urlencoded'
  },
  method: 'post',
  success: function (res) {
   //console.log(res.data)
    wx.hideLoading()
   if (res.statusCode == 200) {
    success(res.data)
   } else {
    fail()
   }
  },
  fail: function (res) {
    wx.hideLoading()
    fail()
  },
  complete: function (res) {
  },
 })
}

登录后复制

前面的函数很容易理解。 代码中已经解释了参数的含义。 在网络请求开始之前,会弹出“正在加载”对话框,提醒用户网络当前正在请求数据。 当网络请求成功或失败时,调用wx.hideLoading()取消提示框的显示。 api中还提供了wx.showNavigationBarLoading()来显示当前页面的导航栏加载动画,所以如果我们想要显示这个动画,可以在requestLoading执行开始时调用wx.showNavigationBarLoading(),然后网络请求成功或失败然后调用wx.hideNavigationBarLoading()隐藏导航栏并加载动画。

当网络请求成功且状态码为200时,请求的数据会通过success(res.data)反弹给我们。 之前我们没有对失败的原因进行细分。 其实还可以添加这个参数,用于提示用户失败的原因。 例如当res.statusCode==500时,提示服务器内部错误; 等待。

之后我们创建一个不显示对话框的请求函数,向用户后台请求数据。 为了少写代码,我们把里面的函数共享出来,如下

//不显示对话框的请求
function request(url, params, success, fail) {
 this.requestLoading(url, params, "", success, fail)
}

登录后复制

我们看到最后还是调用了requestLoading,所以我们可以在这个函数中做一个判断,如果提示信息message=='',则不会显示对话框。

最终代码

手机网站封装小程序-Momo小程序实现网络请求的简单封装

function request(url, params, success, fail) {
 this.requestLoading(url, params, "", success, fail)
}
// 展示进度条的网络请求
// url:网络请求的url
// params:请求参数
// message:进度条的提示信息
// success:成功的回调函数
// fail:失败的回调
function requestLoading(url, params, message, success, fail) {
 console.log(params)
 wx.showNavigationBarLoading()
 if (message != "") {
  wx.showLoading({
   title: message,
  })
 }
 wx.request({
  url: url,
  data: params,
  header: {
   //'Content-Type': 'application/json'
   'content-type': 'application/x-www-form-urlencoded'
  },
  method: 'post',
  success: function (res) {
   //console.log(res.data)
   wx.hideNavigationBarLoading()
   if (message != "") {
    wx.hideLoading()
   }
   if (res.statusCode == 200) {
    success(res.data)
   } else {
    fail()
   }
  },
  fail: function (res) {
   wx.hideNavigationBarLoading()
   if (message != "") {
    wx.hideLoading()
   }
   fail()
  },
  complete: function (res) {
  },
 })
}
module.exports = {
 request: request,
 requestLoading: requestLoading
}

登录后复制

使用起来非常简单,如下

//路径根据自己项目路径修改
var network = require("/utils/network.js")
getData:function(){
  network.requestLoading(URL.MY_SCORE, that.data.params, '正在加载数据', function (res) {
  //res就是我们请求接口返回的数据
   console.log(res)
  }, function () {
   wx.showToast({
    title: '加载数据失败',
   })
  })
}

登录后复制

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 手机网站封装小程序-Momo小程序实现网络请求的简单封装 https://www.wkzy.net/game/140416.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务