摘要: wx.request 失败是一件非常严重的事情,需要监控!
在微信小程序中,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求。其重要性不言而喻。然而,我经常遇到请求失败的问题。作者特别是谷歌。wx.request 请求失败,可以搜索很多相关文章,下面列出一些:
wx.request 失败| 微信开放社区微信小程序 wx.request 请求失败- SegmentFault 有些型号的小程序用户无法启动 wx.request 请求,网络错误问题 …wx.request()失败,request:fail。_开发微信小程序request:fail 集合(各种 request:fail 问题)微信小程序 wx.request:fail 错误排查- 简书有些事情开发过程中遇到的,有些是在产品上线后遇到的。在线情况比开发和测试复杂得多,失败的原因可能多种多样。由于测试不能 100%确保在线没有问题,我们唯一要做的就是及时发现和快速响应。
微信小程序运维中心提供了错误日志记录,但功能还是比较有限。只有简单的统计和错误展示功能,而往往仅仅靠报错信息是无法清晰理解错误成因的。这个时候使用强大的第三方监控服务就很有必要了。
小程序 Demo我们用一个原因jectychen开发的wechat-v2ex来做演示,v2ex 数据 api 基本使用 samuel1112 的仓库v2er内包装法。
其运行效果如下:
最左边应该有头像,可能是因为防盗链。
有时微信applet可以使用多个第三方服务从多个域名获取数据。以下两种情况值得注意:
如果某些接口没有及时推送通知,接口调用将失败;服务不稳定,接口返回特别慢;一些终端用户的数据不一致,导致接口失败。因此,产品上线后,有必要监控接口的调用。
接入监控Fundebug 的微信小程序错误监控插件支持监控 HTTP 请求错误:
要求返回的 statusCode 不是 2xx 或者 fail 当触发回调函数时,Fundebug 小程序监控插件捕获错误并发送到服务器。如果接口要求太长,我们也可以配置httpTimeout来监控。要使用 Fundebug 监控,你需要去Fundebug网站注册账号,创建微信小程序监控项目,然后根据提示访问插件。您需要下载微信小程序监控 JS 将脚本放入自己的项目中,然后引入并通过fundebug.init()函数作为必要的配置。
var fundebug = require("./utils/fundebug.1.3.1.min.js");fundebug.init({ apikey: "YOUR-API-KEY", monitorHttpData: true, httpTimeout: 2000, monitorMethodCall: true, monitorMethodArguments: true, setSystemInfo: true, setUserInfo: true, setLocation: true});默认会对插件进行监控 HTTP 请求错误并报告 Header 我们不需要配置部分信息。为了方便 Debug,我们配置monitorHttpData来记录 body 部分信息;我们将httpTimeout设置为 2000 m秒,超过此时间的请求将向服务器报告。
Request:fail 错误为了演示wx.request返回 request:fail 错了,我特意将utils/api.js中的HOST_URI改错。
var HOST_URI = 'https:// ** .w2ex.com/api/';然后保存操作。Fundebug 收到报告的错误,要求花费 7072 毫秒,然后返回请求失败。
对整个小程序的运行过程有更清晰的了解:
404 错误这一次,我将获得最新主题的界面进行更改,并故意更改latest写出lastest:
var LATEST_TOPIC = 'topics/lastest.json';保存运行,Fundebug 捕获错误并向服务器报告:
参数错误在获取某个话题的详细信息时,应将其传入相应的 id。如果 id 是 null、undefined、或者我们把数字传入字符串,看看结果如何。
下图显示了我们的参数 id 设为undefined界面返回 404。并返回消息:
{ "message": "Object Not Found", "status": "error"}关于FundebugFundebug专注于JavaScript、微信小程序,微信小游戏,支付宝小程序,React Native、Node.js和Java实时在线应用BUG监控。自2016年双十一正式上线以来,Fundebug付费客户有阳光保险、核桃编程、荔枝、FM、一对一、微脉、青团社等众多品牌企业。欢迎免费试用!
转载版权声明时,请注明作者a href="https://blog.fundebug.com/"> Fundebug以及本文地址:https://blog.fundebug.com/2019/07/01/monitor-wx-request-fail/
私域操盘咨询
申请免费使用