亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

詳解微信小程序網絡請求接口封裝實例

2020-03-21 15:58:19
字體:
來源:轉載
供稿:網友

網絡請求封裝實例

實現定制要求和方便調用,對微信小程序的網絡請求接口進行了封裝

  1. 封裝位置:app.js,方便全局調用
  2. 實現方法調用,只用關注接口url和入參
  3. 默認和自定義的請求成功、失敗和完成的回調處理
  4. 可設置請求失敗自動重新請求的次數
  5. 可以防止重復提交
  6. 每個請求設定requestCode

代碼

直接將這個方法放在了app.js中

/**  * 接口公共訪問方法  * @param {Object} urlPath 訪問路徑  * @param {Object} params 訪問參數(json格式)  * @param {Object} requestCode 訪問碼,返回處理使用  * @param {Object} onSuccess 成功回調  * @param {Object} onErrorBefore 失敗回調  * @param {Object} onComplete 請求完成(不管成功或失?。┗卣{  * @param {Object} isVerify 是否驗證重復提交  * @param {Object} requestType 請求類型(默認POST)  * @param {Object} retry 訪問失敗重新請求次數(默認1次)  */ webCall: function (urlPath, params, requestCode, onSuccess, onErrorBefore, onComplete, isVerify, requestType, retry) {  var params = arguments[1] ? arguments[1] : {};  //var requestCode = arguments[2] ? arguments[2] : 1;  var onSuccess = arguments[3] ? arguments[3] : function () { };  var onErrorBefore = arguments[4] ? arguments[4] : this.onError;  var onComplete = arguments[5] ? arguments[5] : this.onComplete;  var isVerify = arguments[6] ? arguments[6] : false;  var requestType = arguments[7] ? arguments[7] : "POST";  var retry = arguments[8] ? arguments[8] : 1;  var that = this;  //防止重復提交,相同請求間隔時間不能小于500毫秒  var nowTime = new Date().getTime();  if (this.requestCount[urlPath] && (nowTime - this.requestCount[urlPath]) < 500) {   return;  }  this.requestCount[urlPath] = nowTime;  //是否驗證重復提交  if (isVerify) {   if (this.verifyCount[urlPath]) {    return;   }   this.verifyCount[urlPath] = true; //重復驗證開關開啟  }  console.log("發起網絡請求, 路徑:" + (that.apiHost + urlPath) + ", 參數:" + JSON.stringify(params));  wx.request({   url: that.apiHost + urlPath,   data: params,   method: requestType, // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT   header: {    'content-type': requestType == 'POST' ?     'application/x-www-form-urlencoded' : 'application/json'   }, // 設置請求的 header   success: function (res) {    console.log("返回結果:" + JSON.stringify(res.data));    if (res.data) {     if (res.data.statusCode == 200) { //訪問成功      onSuccess(res.data, requestCode);     } else if (res.data.statusCode == 300000001) { // 未登錄      that.isLogin = false;      onErrorBefore(0, res.data.message, requestCode);     } else {      onErrorBefore(0, res.data.message == null ? "請求失敗 , 請重試" : res.data.message, requestCode);     }    } else {     onErrorBefore(0, "請求失敗 , 請重試", requestCode);    }   },   fail: function (res) {    retry--;    console.log("網絡訪問失?。?quot; + JSON.stringify(res));    if (retry > 0) return that.webCall(urlPath, params, requestCode, onSuccess, onErrorBefore, onComplete, requestType, retry);   },   complete: function (res) {    onComplete(requestCode);    //請求完成后,2秒后重復驗證的開關關閉    if (isVerify) {     setTimeout(function () {      that.verifyCount[urlPath] = false;     }, 2000);    }   }  }) }

上面的verifyCount是放在data中的數組,apiHost 是放在js最外層的接口服務器地址,方便隨時開發、測試環境。

這個方法也是必不可少的

 complete: function (res) {    onComplete(requestCode);    //請求完成后,2秒后重復驗證的開關關閉    if (isVerify) {     setTimeout(function () {      that.verifyCount[urlPath] = false;     }, 2000);    }   }  })

調用示范

請求:

 // 請求 home banner 數據  wx.showNavigationBarLoading();  app.webCall("/app/homeBanner", {}, QUERY_BANNER, this.onSuccess, this.onErrorBefore, this.onComplete);

請求成功的回調處理:

 /**  * 接口訪問成功返回  * @param {Object} data  * @param {Object} requestCode  */ onSuccess: function (data, requestCode) {   var that = this;  switch (requestCode) {   case QUERY_BANNER:    that.setData({ bannerData: (data ? data.data : []) });    break;  }

QUERY_BANNER是放在js最外層的常量,用于接口訪問完成后的回調方法來區分請求的接口是哪個。

請求完成的處理:

/**  * 接口訪問完成  * @param {Object} resultCode  */ onComplete: function (resultCode) {  console.log("home onComplete1");  if (--mCurrentRequestNums <= 0) {   wx.hideNavigationBarLoading();  } }

mCurrentRequestNums 是放在js最外層的變量,表示發起請求的數量,用于多個接口同時被調用,并希望在全部請求結束后關閉標題欄加載動畫時用。

以上所述是小編給大家介紹的微信小程序網絡請求接口封裝詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲片在线资源| 国语自产精品视频在线看一大j8| 98精品国产高清在线xxxx天堂| 国产精品久久久久久久久久免费| 国产欧美中文字幕| 国产激情综合五月久久| 欧美大胆a视频| 国产亚洲综合久久| 久久精品99久久香蕉国产色戒| 日韩视频免费在线观看| 国产日韩精品一区二区| 国产一区二区香蕉| 精品久久久视频| 久久久av亚洲男天堂| 日韩一区二区三区国产| 91av在线国产| 欧美国产精品人人做人人爱| 久久久精品2019中文字幕神马| 国产精品吹潮在线观看| 亚洲天堂久久av| 国产精品免费一区豆花| 岛国av一区二区三区| 精品久久久久久久久久久久久| 欧美成人一二三| 超薄丝袜一区二区| 97av视频在线| 国产精品亚洲一区二区三区| 色与欲影视天天看综合网| 国产精品爽爽ⅴa在线观看| 久久偷看各类女兵18女厕嘘嘘| 这里只有视频精品| 国产成人精品一区二区三区| 国产精品电影网| 奇米4444一区二区三区| 欧美丝袜美女中出在线| 精品国产乱码久久久久久天美| 国产精品视频yy9099| 国产精品午夜视频| 久久99精品国产99久久6尤物| 久久91亚洲精品中文字幕| 亚洲国产欧美一区二区三区久久| 日本韩国欧美精品大片卡二| 日本不卡高字幕在线2019| 亚洲综合成人婷婷小说| 国产精品精品视频一区二区三区| 日韩av色在线| 日韩美女免费线视频| 亚洲欧美日韩精品久久奇米色影视| 8x海外华人永久免费日韩内陆视频| 精品成人久久av| 日韩欧美中文第一页| 欧美激情一区二区三区在线视频观看| 午夜精品久久久久久久男人的天堂| 国产成人鲁鲁免费视频a| 欧美性猛交xxxx乱大交3| 欧美日本国产在线| 不卡av在线网站| 国产精品av免费在线观看| 日韩av在线精品| 国产免费一区二区三区在线能观看| 狠狠操狠狠色综合网| 国产精品夜间视频香蕉| 国产一区香蕉久久| 欧美成人四级hd版| 欧美性xxxxx极品娇小| 青草青草久热精品视频在线观看| 日韩欧美在线字幕| 久久久久久亚洲| 精品视频在线播放| 国产噜噜噜噜久久久久久久久| 成人午夜一级二级三级| 精品亚洲永久免费精品| 欧美日韩在线免费观看| 久久久精品国产亚洲| 日韩a**站在线观看| 久久久电影免费观看完整版| 51午夜精品视频| 国语自产在线不卡| 欧美最近摘花xxxx摘花| 国产精品久久综合av爱欲tv| 久久久久久久久久婷婷| 久久视频免费在线播放| 国产精品白丝av嫩草影院| 精品一区精品二区| 奇门遁甲1982国语版免费观看高清| 精品国产一区二区三区四区在线观看| 国产日韩欧美夫妻视频在线观看| 欧美性黄网官网| 亚洲欧美日本伦理| 九九精品在线视频| 日韩视频免费在线观看| 亚洲中国色老太| 欧美日韩另类字幕中文| 欧美激情在线播放| 国产成人在线精品| 国产综合在线视频| 久久中国妇女中文字幕| www.欧美免费| 欧美激情一区二区久久久| 亚洲国产成人91精品| 国产欧美一区二区白浆黑人| 国产成人亚洲综合青青| 国产精品视频男人的天堂| 国产精品久久久久久婷婷天堂| 国产精品成人va在线观看| 在线成人激情视频| 国产精品网红直播| 狠狠色狠色综合曰曰| 播播国产欧美激情| 日韩在线观看免费| 欧美色另类天堂2015| 国产成+人+综合+亚洲欧洲| 久热精品视频在线观看| 91成人免费观看网站| 国产色婷婷国产综合在线理论片a| 尤物九九久久国产精品的特点| 日本一区二区三区四区视频| 国产亚洲精品久久久| 一区二区欧美激情| 国产精品成av人在线视午夜片| 国产一区二区丝袜| 国产精品久久久久久久久久| 日本韩国欧美精品大片卡二| 97视频免费观看| 日韩一级裸体免费视频| 国产精品视频精品| 亚洲新中文字幕| 一本色道久久88亚洲综合88| 欧美激情第6页| 亚洲娇小xxxx欧美娇小| 精品国产91久久久久久| 成人国产精品日本在线| 国产精品自产拍在线观看| 日韩高清不卡av| 日韩在线视频网| 中文字幕在线精品| 91成人免费观看网站| 久久久免费观看| 久久夜精品va视频免费观看| 一本一本久久a久久精品综合小说| 精品免费在线视频| 性色av一区二区三区| 久久色在线播放| 日本国产高清不卡| 欧美日韩激情视频8区| 亚洲精品福利在线| 亚洲精品成人网| 在线国产精品视频| 欧美亚洲国产精品| 69精品小视频| 欧美日韩中文字幕日韩欧美| 中文字幕欧美日韩| 成人在线观看视频网站| 亚洲深夜福利网站| 亚洲国产精品中文| 精品爽片免费看久久| 欧美在线亚洲在线| 亚洲视频在线观看网站| 久热精品视频在线观看一区| 高清欧美性猛交| 精品日韩中文字幕| 亚洲成人激情在线| 国产精品一二三在线| 欧美在线观看网址综合|