怎么封装微信小程序http拦截器
发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,这篇文章主要介绍"怎么封装微信小程序http拦截器"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么封装微信小程序http拦截器"文章能帮助大家解决问题。第一
千家信息网最后更新 2024年11月12日怎么封装微信小程序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安全错误
数据库的锁怎样保障安全
vs2008读取数据库的语句
软件开发工期模板
网络安全开发
网络安全中字典攻击
支付宝有网络安全员的学习软件吗
服务器软件运营管理
软件开发公司获得投资
查看数据库中表设置的属性
网络技术与前端开发
linux服务器密码忘了
服务器注册表密码修改
软件开发工具心得体会
数据库解耦设计
普通网络安全法律法规
新才网络技术股份
苏州智能化软件开发价格
士官学校学网络安全
监控和数据库的区别
网络安全图片授课
软件开发文档都有哪些
数据库教材信息课程设计
山西麻将软件开发需求
曙光服务器四川代理虚拟主机
国内外软件开发价格
数据库验证失败
战地1服务器名称都是数字
会考网络技术怎么查分
服务器必须初始化网络吗
手机服务器设置密码
软件开发哪找