91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么封裝微信小程序http攔截器

發布時間:2022-04-12 17:05:23 來源:億速云 閱讀:249 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么封裝微信小程序http攔截器”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么封裝微信小程序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);
}
};

關于“怎么封裝微信小程序http攔截器”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利辛县| 平远县| 涟水县| 沙坪坝区| 民勤县| 昌江| 剑阁县| 安岳县| 华安县| 基隆市| 望城县| 专栏| 丘北县| 海淀区| 轮台县| 健康| 龙游县| 盘山县| 略阳县| 平南县| 贺州市| 白玉县| 绥滨县| 榆树市| 弥勒县| 大埔区| 新竹县| 女性| 吴忠市| 巴青县| 舞钢市| 万州区| 彭阳县| 尤溪县| 安新县| 怀化市| 新巴尔虎右旗| 扶风县| 布尔津县| 册亨县| 蓝田县|