欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

微信小程序中網(wǎng)絡(luò)請求封裝的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹微信小程序中網(wǎng)絡(luò)請求封裝的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比東豐網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式東豐網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋東豐地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

微信小程序之網(wǎng)絡(luò)請求簡單封裝實例詳解

在微信小程序中實現(xiàn)網(wǎng)絡(luò)請求相對于Android來說感覺簡單很多,我們只需要使用其提供的API就可以解決網(wǎng)絡(luò)請求問題。

  • 普通HTTPS請求(wx.request)

  • 上傳文件(wx.uploadFile)

  • 下載文件(wx.downloadFile)

  • WebSocket通信(wx.connectSocket)


為了數(shù)據(jù)安全,微信小程序網(wǎng)絡(luò)請求只支持https,當然各個參數(shù)的含義就不在細說,不熟悉的話可以;可以去閱讀官方文檔的網(wǎng)絡(luò)請求api,當我們使用request時header的content-typ默認是application/json,在文檔中指出method 的value必須是大寫,不過經(jīng)過測試,小寫也能請求成功。request默認的超時時間是60s,如果我們想自定義超時時間,我們可以在app.json中加入下面代碼片段,分別設(shè)置request,socket,和上傳文件及下載文件的超時時間。

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

設(shè)置過超時時間,我們就開始封裝網(wǎng)絡(luò)請求,平時我們所接觸的網(wǎng)絡(luò)請求,一般會分為兩類,一類是在后臺運行的,沒有加載對話框提示,另一種就是有提示,如提示正在加載數(shù)據(jù),,那么我們就以此為線索來進行封裝。先創(chuàng)建一個network的網(wǎng)絡(luò)請求工具類,然后

// 展示進度條的網(wǎng)絡(luò)請求
// url:網(wǎng)絡(luò)請求的url
// params:請求參數(shù)
// message:進度條的提示信息
// success:成功的回調(diào)函數(shù)
// fail:失敗的回調(diào)
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) {

  },
 })
}

上面函數(shù)很好理解,參數(shù)的含義已在代碼中解釋,在網(wǎng)絡(luò)請求開始前,先展示Loading對話框,提示用戶當前網(wǎng)絡(luò)正在請求數(shù)據(jù),當網(wǎng)絡(luò)請求成功或者失敗后調(diào)用wx.hideLoading()取消提示框的展示。在api中還提供了wx.showNavigationBarLoading()用于顯示當前頁面的導(dǎo)航條加載動畫,那么如果我們想展示這個動畫可以在requestLoading執(zhí)行開始調(diào)用wx.showNavigationBarLoading(),然后在網(wǎng)絡(luò)請求成功或者失敗后調(diào)用wx.hideNavigationBarLoading()隱藏導(dǎo)航欄加載動畫。

當網(wǎng)絡(luò)請求成功并且狀態(tài)碼為200時,將請求到的數(shù)據(jù)回調(diào)通過success(res.data)回調(diào)給我們的方法,在上面我們沒有對失敗原因進行細分,當然你也可以給失敗回調(diào)加個參數(shù),用于提示用戶失敗的原因,如res.statusCode ==500時提示服務(wù)器內(nèi)部錯誤,res.statusCode ==-1時提示請檢查網(wǎng)絡(luò),res.statusCode ==404,找不到地址等等。


然后我們在創(chuàng)建一個不顯示對話框,用戶后臺請求數(shù)據(jù)的請求函數(shù),為了少寫代碼,我們共用上面的函數(shù),如下

//不顯示對話框的請求
function request(url, params, success, fail) {
 this.requestLoading(url, params, "", success, fail)
}

我們看到我們最終還是調(diào)用的requestLoading,那么我們可以在該函數(shù)作下判斷,如果提示信息message==''就不顯示對話框。


最終的代碼

function request(url, params, success, fail) {
 this.requestLoading(url, params, "", success, fail)
}
// 展示進度條的網(wǎng)絡(luò)請求
// url:網(wǎng)絡(luò)請求的url
// params:請求參數(shù)
// message:進度條的提示信息
// success:成功的回調(diào)函數(shù)
// fail:失敗的回調(diào)
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
}

使用就很簡單了,如下

//路徑根據(jù)自己項目路徑修改
var network = require("/utils/network.js")
getData:function(){
  network.requestLoading(URL.MY_SCORE, that.data.params, '正在加載數(shù)據(jù)', function (res) {
  //res就是我們請求接口返回的數(shù)據(jù)
   console.log(res)
  }, function () {
   wx.showToast({
    title: '加載數(shù)據(jù)失敗',
   })
  })
}

以上是“微信小程序中網(wǎng)絡(luò)請求封裝的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站標題:微信小程序中網(wǎng)絡(luò)請求封裝的示例分析-創(chuàng)新互聯(lián)
本文來源:http://chinadenli.net/article32/peesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗網(wǎng)站制作、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、品牌網(wǎng)站制作網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
久久免费精品拍拍一区二区| 国产一区二区三区精品免费| 又黄又色又爽又免费的视频| 少妇视频一区二区三区| 亚洲欧美日韩在线中文字幕| 樱井知香黑人一区二区| 东北女人的逼操的舒服吗| 日韩精品第一区二区三区| 精品人妻一区二区四区| 搡老妇女老熟女一区二区| 亚洲熟妇熟女久久精品 | 国产欧美另类激情久久久| 亚洲一区二区精品免费| 神马午夜福利免费视频| 男女一进一出午夜视频| 伊人网免费在线观看高清版 | 五月婷婷六月丁香在线观看| 日韩偷拍精品一区二区三区| 狠狠亚洲丁香综合久久| 激情丁香激情五月婷婷| 一区二区欧美另类稀缺| 国产又粗又长又大的视频| 日韩一区二区三区在线日| 麻豆视传媒短视频免费观看| 久热久热精品视频在线观看| 日韩一本不卡在线观看| 亚洲中文在线男人的天堂| 亚洲天堂男人在线观看| 一区二区三区18禁看| 久久青青草原中文字幕| 国产一区二区精品高清免费| 国产一区二区不卡在线视频| 国产精品欧美激情在线播放| 久久一区内射污污内射亚洲| 国产精品人妻熟女毛片av久 | 午夜视频免费观看成人| 欧美人妻少妇精品久久性色| 亚洲国产精品无遮挡羞羞| 亚洲精品一二三区不卡| 美女被啪的视频在线观看| 国产又爽又猛又粗又色对黄|