千家信息网

怎么封装微信小程序http拦截器

发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,这篇文章主要介绍"怎么封装微信小程序http拦截器"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么封装微信小程序http拦截器"文章能帮助大家解决问题。第一
千家信息网最后更新 2024年10月23日怎么封装微信小程序http拦截器

这篇文章主要介绍"怎么封装微信小程序http拦截器"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么封装微信小程序http拦截器"文章能帮助大家解决问题。

第一步:创建一个request.js文件

第二步:确定http、upload和websocket前缀

第三步:封装wx.request

在请求发出前处理http地址、请求头和参数、在响应后解析返回值并做基本的逻辑判断,重点是使用Promise对象。

第四步:导出模块

第五步:使用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拦截器"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

拦截器 封装 程序 知识 方法 模块 行业 不同 实用 成功 代码 信息 内容 前处理 前缀 参数 地址 实用性 实际 对象 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 闵行区营销软件开发优势 网站数据库结构分析与设计 互联网金融服务器有哪些 我的世界服务器为什么会一卡一卡 怎么更改服务器接入点 软件开发外包合同补充协议 软件开发合同违约 国产服务器龙头概念股有哪些 可以同时备份一个或多个数据库 英雄联盟战队服务器怎么升级 工控机串口服务器固 按键精灵手机数据库 软件开发图标矢量图 网络安全红队的前途是什么 东明网络安全 初中生网络安全教育教安 SQL数据库的构成是什么 乌兰浩特app软件开发培训机构 长沙民政学院网络技术 深圳网络安全创新 软件开发技能鉴定题库 呼伦贝尔微信小程序数据库接口 广州周边网络安全产品 全国计算机网络技术四级 服务器导轨行业标准 天空之境服务器一区刷怪塔怎么去 软件开发所涉及的税种及税率 登录数据库步骤 网络安全宣传语押韵 滨海新区企业网络技术售后保障
0