怎么封装微信小程序http拦截器
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍"怎么封装微信小程序http拦截器"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么封装微信小程序http拦截器"文章能帮助大家解决问题。第一
千家信息网最后更新 2025年11月14日怎么封装微信小程序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安全错误
数据库的锁怎样保障安全
二战英雄怎么连不上服务器
网络安全竞赛主持
中国台湾手机软件开发java
硬件服务器选型
摄像头为啥连接不上服务器
义乌java软件开发设计
罗铺服务器
玄武区企业app软件开发
幼儿园网络安全示范校申请书
数据库软件pr
上海php软件开发培训
数据库连接池技术有哪些
深圳电脑软件开发哪家可靠
淮北矿务局网络安全培训
广东正规网络技术开发服务价格
红安网络安全监察局
制造软件开发服务电话
什么是计算机的网络安全机制
建立简历邀约数据库
数据库概念的重要性及设计步骤
v2ray服务器付费
魔百和文件服务器
数据中心网络安全方案
温州水电费缴费软件开发团队
腾讯网络安全网站
网络安全小报 手抄报
软件开发30岁
服务器硬件要求
三门峡软件开发多少钱
网络安全的主题标语