在微信小程序里,與后臺服務器交互的主要接口函數是wx.request()
,用于發起 HTTPS 網絡請求。其重要性不言而喻。然而,卻經常遇到請求失敗的問題,筆者特意谷歌"wx.request 請求失敗",可以搜索到很多相關的文章,下面列出一些:
創新互聯公司是一家專業提供鳳泉企業網站建設,專注與成都網站建設、網站建設、H5場景定制、小程序制作等業務。10年已為鳳泉眾多企業、政府機構等服務。創新互聯專業網站設計公司優惠進行中。
有些事開發時候遇到,有些是產品上線后遇到。線上的情況比開發和測試的時候復雜的多,失敗的原因可能各種各樣。既然測試無法 100%保證上線不會出問題,我們唯一要做的就是及時發現和快速響應。
微信小程序運維中心提供了錯誤日志記錄,但功能還是比較有限。只有簡單的統計和錯誤展示功能,而往往僅僅靠報錯信息是無法清晰理解錯誤成因的。這個時候使用強大的第三方監控服務就很有必要了。
我們使用一款由jectychen開發的wechat-v2ex來做演示,v2ex 數據 api 基本上使用了 samuel1112 的倉庫v2er里封裝的方法。
其運行效果如下:
最左側本來應該有頭像的,可能由于防盜鏈的原因沒有顯示出來。
有時候一個微信小程序可能會用到多個第三方服務,從多個域名獲取數據。以下兩種情況都值得注意:
因此產品上線以后,對接口的調用進行監控是很有必要的。
Fundebug 的微信小程序錯誤監控插件支持監控 HTTP 請求錯誤:
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 毫秒,超過該時長的請求會被上報到服務器。
為了演示wx.request
返回 request:fail 錯誤,我特意將utils/api.js
中的HOST_URI
改錯。
var HOST_URI = 'https://www.w2ex.com/api/';
然后保存運行。Fundebug 收到上報的錯誤,該請求花了 7072 毫秒,然后返回請求失敗。
通過用戶行為可以更加清楚地了解整個小程序的運行過程:
這次,我將獲取最新話題的接口做點更改,故意將latest
寫出lastest
:
var LATEST_TOPIC = 'topics/lastest.json';
保存運行,Fundebug 捕獲該錯誤并上報到服務器:
獲取某一個話題詳情的時候,應該傳入對應的 id。如果 id 是 null、undefined、或則本來是數字我們傳入字符串,看看結果怎么樣。
下圖可知當我們將參數 id 設為undefined
的情況下,接口返回 404。并返回消息:
{
"message": "Object Not Found",
"status": "error"
}
Fundebug專注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了10億+錯誤事件,付費客戶有陽光保險、核桃編程、荔枝FM、掌門1對1、微脈、青團社等眾多品牌企業。歡迎大家免費試用!
轉載時請注明作者 Fundebug以及本文地址:
https://blog.fundebug.com/2019/07/01/monitor-wx-request-fail/
網頁名稱:監控微信小程序wx.request請求失敗
鏈接地址:http://m.newbst.com/article48/jegdhp.html
成都網站建設公司_創新互聯,為您提供Google、企業網站制作、移動網站建設、、網站建設、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯