封装微信小程序超文本传送协议(超文本传输协议的缩写)拦截器过程解析
前言
微信小程序是数据驱动的应用,开发技术和做出反应和有角的等mv*技术类似。在某视频剪辑软件下可以用某视频剪辑软件资源、axios等模块进行超文本传送协议(超文本传输协议的缩写)请求,但是在微信小程序上,http请求只支持请求(对象),所以我们需要对请求进行封装,实现超文本传送协议(超文本传输协议的缩写)拦截器的功能。
第一步:创建一个request.js文件
第二步:确定http,上传和求转发到前缀
第三步:封装请求
在请求发出前处理超文本传送协议(超文本传输协议的缩写)地址、请求头和参数、在响应后解析返回值并做基本的逻辑判断,重点是使用承诺对象。
第四步:导出模块
第五步:使用请求
const Request=require('/utils/Request ');//导入模块Request.post('/api/xcxWxLogin ',{ //调用方法code: res.code,encrypteddata分别为:encrypteddata,iv: resp.iv,shareId: share.shareId || ',sales manid : share。sales manid | | ' ',source: share.source || ''}).然后(res={ //成功回调//todo}).catch(err={ });//异常回调第六步:拦截器完整代码
const apiHttp='https://***** .com ';const Sockettp=' WSS ://* * * * * .com/WSS ';乐趣函数趣味(网址),方法、数据、头){ data=data | | { };header=header | | { };让会话id=wx。getstoragesync(' UserSessionId ');if (sessionId) {if(!标题||!header[' SESSIONID ']){ header[' SESSIONID ']=SESSIONID;} } wx。shownavigationbar loading();let Promise=新Promise(函数(解析,拒绝){ wx。请求({ URL : APiHttp URL,header: header,data: data,method: method,success : function(RES){ if(RES . data的类型==' object '){ if(RES . data。状态){ if(RES . data。状态====-200){ wx。显示吐司({ title : '为确保能向您提供最准确的服务,请退出应用重新授权,图标: ' none ' });拒绝('请重新登录');} else if(RES . data。状态===-201){ wx。显示吐司({ title : RES . data。msg,图标: ' none ' });setTimeout(函数(){ wx。navigateto({ URL : '/page/user/supplicate/supplicate ' });}, 1000);拒绝(研究数据。味精);} } }解析(RES);},fail:拒绝,完成:功能(){ wx。HidenavigationBarLoading();}});});回报承诺;}函数上传(网址),名称、filePath){ let header={ };让会话id=wx。getstoragesync(' UserSessionId ');//从缓存中拿该信息if (sessionId) {if(!标题||!header[' SESSIONID ']){ header[' SESSIONID ']=SESSIONID;//添加到请求头中} } wx。shownavigationbar loading();让承诺=新承诺(函数(解析,拒绝){ wx。uploadfile({ URL : apiHttp URL,filePath: filePath,name: name,header: header,success 3360 function(RES){ resolve(RES)};},fail:拒绝,完成:功能(){ wx。HidenavigationBarLoading();}});});回报承诺;}模块。导出={ APiHttp : APiHttp,socketHttp: socketHttp,' get':函数(网址,数据,标头){return fun(url,' get ',数据,标头);},' post':函数(网址,数据,表头){return fun(url,' post ',数据,表头);},上传:函数(网址),名称、文件路径){ 0返回上传(网址),名称、文件路径);}};以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:封装微信小程序超文本传送协议(超文本传输协议的缩写)拦截器过程解析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。