范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

wx小程序request请求在项目实战中的封装

  前沿
  在小程序项目开发中,对请求做封装是比较常见的操作,我们可以在封装过的请求里,做一些统一处理,比如统一配置、请求拦截、错误异常处理、授权处理等
  好了,我们直接看干货,上代码
  request封装
  在项目根目录下新建一个request目录,再在目录下新建一个index.js文件,文件里的内容如下import {   BASE_API_URL,   TIME_OUT,   STATUS_CODE_OK } from "../config/index.js"  // opt是配置参数,不传就是空对象 const request = (opt = {}) => {   // 请求是异步的,我们返回一个Promise   return new Promise((resolve, reject) => {     // wx小程序定义的全局属性     // 比如用户登录成功后,后台生成的token可以放这里     let globalData = getApp().globalData     // 请求开始前,加遮罩,防止重复提交     // loadingTitle自定义加载的文字     wx.showLoading({       title: opt.loadingTitle || "加载中",       mask: true     })     // 微信小程序请求     wx.request({       header: {         // contentType设置,默认是query的方式         // 可能通过opt.contentType定义为"application/json"         "content-type": opt.contentType || "application/x-www-form-urlencoded",         // jwt的token,用户登录后,后台生成的token         // 每次请求的时候带上,可以校验当前用户是否全法         "Authorization": globalData.token       },       // 请求超时时间,一般60秒       timeout: TIME_OUT,       // 请求的url       // BASE_API_URL是api请求的统一前缀       url: BASE_API_URL + opt.url,       // 请求时需要带的参数       data: opt.data || {},       // 请求的方法,默认POST       method: opt.method || "POST",       // 请求成功处理       success(res) {         // statusCode如果是401,代表这次请求不合法         if (res.statusCode === 401) {           // 弹窗提醒           wx.showModal({             title: "警告",             showCancel: false,             content: "当前用户信息已失效,请退出小程序重新进入",             confirmText: "确认",             success() {               // 并清空全局对象的用户信息               globalData = {                 userInfo: {},                 token: ""               }               // reject处理,代表请求不成功               reject("请求失效")             }           })         } else {           // 后台返回的请求code码为非正常码           // 代表业务处理有异常           // 统一处理,在页面上显示异常信息,提醒用户           if (res.data.code !== STATUS_CODE_OK) {             // 这个是自己封装的一个toast方法             notifyError(res.data.msg)           }           // 返回后台给到的数据           resolve(res.data)         }       },       // 请求失败处理       fail(err) {         // 把错误信息弹窗显示,提醒用户         wx.showModal({             title: "警告",             showCancel: false,             content: JSON.stringify(err),             confirmText: "确认",           })         // reject处理,代表请求不成功         reject("fail")       },       // 无论请求成功与失败都会走的方法       complete() {         // 关闭请求中的遮罩         wx.hideLoading()       }     })   }) } export default request 使用// 引入封装的request import request from "../request/index.js"  // 获取个人用户的区域列表 request({   // 请求的方法   method: "POST",   // 请求的url   url: "/xxx/xxx",   // 请求参数   data: {     username:"xxx",     password:"xxx"   }  }).then(res=>{   // 请求拿到的数据   console.log(res) }).catch(err){   // 请求异常拿到的数据   console.log(err) }
  好了,wx小程序request请求封装就到这了
  觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧

乐歌M2站立办公升降桌初体验铛铛铛铛,收到乐歌M2站立办公升降桌这个大家伙已经一周了,再次感谢ZEALERApp赠送体验。这次就来详细汇报一下个人的初体验感受,希望能给关注升降办公桌的小伙伴们一点参考意见。因2022年8还好用吗?升级15。2。1会变卡吗?字打太多根本没人看,所以咱们长话短说。8在日常使用速度上虽然不及12等机型,但日常使用也不会出现明显卡顿,除了和平精英玩其它东西还没有出现过状况,我玩吃鸡后手机出现了明显的卡顿变慢中兴亮剑!201TB,5000mAh120W,还有顶级4nm坐镇按照目前手机界的发展近况来看,一大波新机已经在路上了,目前除了定档二月中下旬要发布的K50电竞版,下面打磨中的依次有红米K50系列的骁龙870天玑8000天玑9000以及骁龙8Ge倔强中兴继续发力,4nm强机来袭,升级201TB存储6000mAh强续航对于当下激烈的市场竞争,性价比显得尤为重要,不少友商都在拼堆料,就连沉寂中兴的也开始再次发力,很有卷土重来之势。在刚过去的这一年里,中兴的市场表现的确很出乎意料,一口气发布了好几款OPPOFindX5即将发布首发联发科天玑9000与哈苏合作手机中国新闻OPPO即将在2月召开新品春季发布会,已知在这场发布会上的主角会是即将发布的OPPOFindX5,按照惯例这款新机型将会是OPPO的年度旗舰,如今越来越多的爆料信息也让特斯拉第四家电池供应商呼之欲出长期以来松下是特斯拉唯一御用电池供应商。从roadster,modelsxmodel3y,十多年风雨同舟。松下还拥有特斯拉大量股票,特斯拉和松下在内华达建有合资电池工厂。生产的镍钴行业分析新能源之光伏概述太阳能是未来最清洁,最安全,最可靠的能源!太阳能利用的最佳方式是光电转换,太阳光照射到硅材料上,利用光伏效应,产生直流电,直接发电。以硅材料光电转换为核心的开发应用形成的产业链spring循环依赖三级缓存循环依赖BeanFactory作为bean工厂管理我们的单例bean,那么肯定需要有个缓存来存储这些单例bean,在Spring中就是一个Map结构的缓存,key为beanNameiOS15。3准正式版,终于来了1月21日消息历经一个多月,经过3个版本的更新迭代,iOS15。3终于在今日凌晨发布终极测试版,即iOS15。3RC。本次RC版更新后版本号为19D49,与之同时更新的还有macO建筑行业走下坡路了吗?建筑行业现在的确是在走下坡路,每个行业都有波峰和波谷,建筑行业经过几十年的野蛮发展,现在也处于正常的波动周期。国家的大基建开始放缓,就算没有疫情影响,国家也不会大力发展基建,后续的2021年10大风口,7个已熄火2021年,是新商业大变局的一年,互联网红利趋于消失。来源Tech星球,tech618很多人感叹,甚至连字节跳动都停止了用户增长,移动互联网再难创造新奇迹。于是,互联网巨头悄然实施
2021年上半年换机热选,这几款高口碑旗舰机总有一款适合你2021年已经过半,各大品牌的旗舰机都已经集结完毕,等等党们在换机的时候,可以更好的对比不同机型的优缺点用户口碑,选机的精准率也有了保证。但是,依然有一些小伙伴,对于手机特点不甚了游戏体验更好,还是颜控最爱,ROG5幻影白成4K档最值游戏手机随着手机性能越来越强大,很多游戏厂商都把开发重心转移到了移动端,手游玩家也越来越多。王者荣耀第五人格等热门手游的联赛热度,丝毫不亚于端游的英雄联盟绝地求生。相应的,术业有专攻的游戏旗舰标准重新定义,这几款产品力拉满,选哪一款都值8月刚刚走过一半,已经有几部重量级的新旗舰揭开了下半年手机市场的战幕。从影像到设计,从性能到体验,新旗舰也改变了不少朋友原有的2021最好安卓手机的定义。下面笔者就盘点一下当前关注linux之curl命令curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTlinux之crontab使用技巧crontab命令主要用于设置命令行或者脚本周期性的执行。该命令从标准输入设备读取指令,并将其存放于文件中,以供之后读取和执行。本文主要讲述crontb命令的基本语法和配置方法。clinux之vi,vim命令vim是对vi的扩展,文中的很多操作是vi通用的vi是区分大小写的命令的,也就是说g与G是不同的命令在不同模式下,快捷键是不一样的模式分一般模式编辑模式指令模式一般模式用于文件内部linux之rsync远程同步文件rsync全名RemoteSync,是类unix下数据镜像的备份工具。可以方便的实现本地,远程备份文件,rsync最重要的一点是支持增量备份。命令语法rsyncOPTIONSRCD历史中的潘金莲是什么人设?为何施耐庵后人努力为其挽回形象提起潘金莲,就会想到水性杨花四个字,那么历史中的潘金莲究竟为人如何?真的是毒害武大郎,倾心西门庆么?施耐庵后人又为何不遗余力地为其平反,想挽回在世人眼中的形象?网络配图看书中是怎么又一行业面临停摆!曾经价格上万也不缺顾客,现降价都没人问自古以来,黄金一直是非常值钱的,因为它是稀有金属,无法用人工合成的金属,无论在哪个国家,它的价格都是不菲的,所以由黄金打造的佩饰就变成了奢侈品,很多人都买不起,在有钱人眼里,这些奢这三部外观设计感爆棚的手机,竟有两部来自同一品牌?自从手机进入触屏时代,手机的样子就开始逐渐被苹果统一化。不得不说苹果的诞生还是引领了很长一段时间的时尚潮流的。但也有很多厂商在研发手机的过程中,在手机外观上设计出自己的一套风格。而全国邮政行业劳动模范德邦快递代小虎幸福是奋斗出来的我赚的都是良心钱,踏实!职业不分高低贵贱,选择了就尽力做好。德邦快递小哥代小虎这么说道。12月29日,全国邮政行业先进集体劳动模范和先进个人表彰大会在京召开,德邦快递小哥代小虎荣获