麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

封裝微信小程序http攔截器過程解析

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

前言

微信小程序是數據驅動的應用,開發技術和vue、react和angular等mv*技術類似。在vue下可以用vue-resource、axios等模塊進行http請求,但是在微信小程序上,http請求只支持wx.request(OBJECT),所以我們需要對wx.request進行封裝,實現http攔截器的功能。

第一步:創建一個request.js文件

第二步:確定http、upload和websocket前綴

封裝,微信小程序,http,攔截器

第三步:封裝wx.request

封裝,微信小程序,http,攔截器

在請求發出前處理http地址、請求頭和參數、在響應后解析返回值并做基本的邏輯判斷,重點是使用Promise對象。

第四步:導出模塊

封裝,微信小程序,http,攔截器

第五步:使用request

 

const Request = require("/utils/request");//導入模塊Request.post("/api/xcxWxLogin", { //調用方法     code: res.code,     encryptedData: resp.encryptedData,     iv: resp.iv,     shareId: share.shareId || "",     salesmanId: share.salesmanId || "",     source: share.source || ""}).then(res => { //成功回調  //todo}).catch(err => {}); //異常回調

第六步:攔截器完整代碼

const apiHttp = "https://*****.com";const socketHttp = "wss://*****.com/wss";function fun(url, method, data, header) {data = data || {};header = header || {};let sessionId = wx.getStorageSync("UserSessionId");if (sessionId) {if (!header || !header["SESSIONID"]) { header["SESSIONID"] = sessionId;}}wx.showNavigationBarLoading();let promise = new Promise(function(resolve, reject) {wx.request({ url: apiHttp + url, header: header, data: data, method: method, success: function(res) {  if (typeof res.data === "object") {   if (res.data.status) {    if (res.data.status === -200) {     wx.showToast({      title: "為確保能向您提供最準確的服務,請退出應用重新授權",      icon: "none"     });     reject("請重新登錄");    } else if (res.data.status === -201) {     wx.showToast({      title: res.data.msg,      icon: "none"     });     setTimeout(function() {      wx.navigateTo({       url: "/pages/user/supplement/supplement"      });     }, 1000);     reject(res.data.msg);    }   }  }  resolve(res); }, fail: reject, complete: function() {  wx.hideNavigationBarLoading(); }});});return promise;}function upload(url, name, filePath) {let header = {};let sessionId = wx.getStorageSync("UserSessionId"); //從緩存中拿該信息if (sessionId) {if (!header || !header["SESSIONID"]) { header["SESSIONID"] = sessionId; //添加到請求頭中}}wx.showNavigationBarLoading();let promise = new Promise(function(resolve, reject) {wx.uploadFile({ url: apiHttp + url, filePath: filePath, name: name, header: header, success: function(res) {  resolve(res); }, fail: reject, complete: function() {  wx.hideNavigationBarLoading(); }});});return promise;}module.exports = {apiHttp: apiHttp,socketHttp: socketHttp,"get": function(url, data, header) {return fun(url, "GET", data, header);},"post": function(url, data, header) {return fun(url, "POST", data, header);},upload: function(url, name, filePath) {return upload(url, name, filePath);}};

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品久久久久久久久久久久久久 | 久久第四色 | www日韩在线观看 | 五月激情久久 | 亚洲国产中文字幕 | www久久艹 | 成人视屏免费看 | 亚洲一区二区三区视频 | 久久国产精品二国产精品中国洋人 | 黄色大片在线免费观看 | 国产精品一区在线看 | 国产毛片自拍 | 精品国产精品久久 | videos韩国| 性少妇videosexfreexx | xfplay噜噜av | 欧美成人二区 | 一本色道久久99精品综合蜜臀 | 亚洲免费永久 | 成人午夜免费网站 | 日日爱影院 | 久久精品黄 | 色综合激情 | 精品亚洲午夜久久久久91 | 久久久一区二区三区精品 | 天天夜夜操操 | 欧美1区2区在线观看 | 亚洲精品欧美二区三区中文字幕 | 欧美在线观看视频一区二区 | 国产精品久久久久久久久久久久久久久久 | 在线观看免费视频麻豆 | 新久草视频 | 一级色毛片 | 在线成人免费视频 | 亚洲免费在线视频 | 深夜毛片免费看 | 久久国产精品99国产 | 免费看黄色一级大片 | 成人444kkkk在线观看 | 国产毛片aaa一区二区三区视频 | 七首小情歌泰剧在线播放 |