【最佳實踐】小程序重點場景異常處理(一)

小程序在運行過程中難免會遇到一些異常情況,將會給用戶帶來不好的體驗。愛掏網 - it200.com針對于此,我們總結出一些常見的case,總結成最佳實踐,幫助開發者合理處理異常,提升小程序體驗。愛掏網 - it200.com

場景一:用戶拒絕授權定位,二次進入頁面不友好

一些小程序需要在進入首屏的時候,需向用戶獲取地理位置權限,但是若用戶一旦誤點擊【拒絕】按鈕,那么下次再次進入該小程序時,頁面直接顯示無法定位。愛掏網 - it200.com那么對于一般用戶,很難知道如何再次開啟權限,并因此無法使用小程序,給用戶造成了不好的體驗。愛掏網 - it200.com

首次進入小程序時,會彈出獲取地理位置信息的對話框,用戶點擊拒絕。愛掏網 - it200.com

再次進入小程序時,頁面會如右圖所示,整個頁面無內容。愛掏網 - it200.com

那我們如何解決這個場景的問題呢?這里提出一種優化建議:

  1. 在用戶進入頁面時,對當前用戶的權限進行判斷;
  2. 若用戶沒有對應權限,則彈出設置頁面來引導用戶開啟權限。愛掏網 - it200.com
 Page({ onLoad() { swan.authorize({ scope: 'scope.userLocation', fail(err) { // 更多錯誤碼請查看官方文檔:https://smartprogram.baidu.com/docs/develop/api/open/authorize_swan-authorize/ // 以 10003 用戶拒絕授權為例 if (err.errCode === 10003) { swan.openSetting({ success(res) { // 彈出開啟異常提示toast swan.showToast({ title: '請點擊權限設置->地理位置 開啟地理位置權限', icon: 'none' }); }, }); } }); } });

這樣用戶在進入界面中,可以收到友好的提示,通過重新開啟權限使用該功能。愛掏網 - it200.com

場景二:獲取用戶信息及異常處理

在業務開發中,經常會有獲取用戶信息、地址等需求;我們發現有些開發者,依舊在使用以下兩個廢棄的api,這是我們不提倡的。愛掏網 - it200.com

api 功能 官網地址

swan.chooseAddress

獲取收貨地址 https://smartprogram.baidu.com/docs/develop/api/open/chooseaddress_swan-chooseAddress/
swan.getUserInfo 獲取用戶信息 https://smartprogram.baidu.com/docs/develop/api/open/userinfo_swan-getUserInfo/

官方文檔中提供了一種通過 button 調用的方式,具體使用方式如下:

    
 // index.js Page({ getUserInfo(e) { console.log('用戶信息:', e); }, chooseAddress(e) { console.log('收貨地址:', e); } });

用button 的方式來調用API有一系列好處:

  • 在獲取信息前,自動進行用戶鑒權處理。愛掏網 - it200.com
  • 使用方式簡單,更易于維護。愛掏網 - it200.com

同時,為了更好的處理調用api的錯誤場景,下方列出了可能會出現的錯誤,以及對應的解決方案:

API errcode errMessage 解決方案
getUserInfo
?
10005 system deny 沒有權限,需申請權限后調用
402 訪問控制校驗失敗 游客賬號登錄,調用login解決
10001 internal error 小程序服務器異常,可重試一次解決
chooseAddress
?
1003 close failed 執行異常,可重試一次解決
10001 Internal error 小程序不在前臺,禁止調用ui相關api。愛掏網 - it200.com開發者調用前需要判斷小程序前后臺狀態。愛掏網 - it200.com
10002 網絡異常 ?

開發者可以在錯誤回調中,通過錯誤碼來處理不同類別的錯誤。愛掏網 - it200.com

場景三: 支付及異常處理

在很多的小程序中,需要接入支付功能,官網上提供了百度收銀臺這樣的功能,可以直接接入業務,具體的使用方式見:

https://smartprogram.baidu.com/docs/introduction/pay-intro/

在開發中,我們會使用 swan.requestPolymerPayment 這個 api 來打開百度收銀臺。愛掏網 - it200.com這個方式有兩個好處:

  • 它聚合了多種主流的支付方式,包括:百度錢包、微信、支付寶、網銀等,方便開發者一站式快速接入多種支付渠道。愛掏網 - it200.com
  • 就是全流程的支付環節的錯誤都會被收集到,這樣有利于對整理支付閉環的監控。愛掏網 - it200.com

官網地址見:https://smartprogram.baidu.com/docs/develop/api/open/payment_swan-requestPolymerPayment/

所以,針對于使用了這種方式來實現支付功能的小程序,我們可以獲取更完整的與支付相關的錯誤信息。愛掏網 - it200.com

以下列出了調用 swan.requestPolymerPayment 會返回的錯誤碼和錯誤信息:

api errorCode errMsg

requestPolymerPayment





?

0 支付成功
1 支付中
2 支付取消
3 支付狀態不支持
4 支付token不合法
5 支付登錄錯誤
6 支付錯誤

開發者可以在錯誤回調中,通過錯誤碼來處理不同類別的錯誤,給予用戶更友好的體驗。愛掏網 - it200.com


聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 18观看免费永久视频| 亚洲中文字幕伊人久久无码 | 国产在线观看91精品一区| 亚洲乱码国产乱码精品精| 538精品视频| 欧美日韩乱妇高清免费| 国产麻豆free中文| 亚洲欧美一区二区成人片| 91大神在线精品网址| 欧美日本韩国一区二区| 国产精品成人一区无码| 亚洲人成高清在线播放| 毛片基地看看成人免费| 青青青青久久久久国产的| 日韩一区二三区国产好的精华液| 国产剧情jvid在线观看| 久久久久无码国产精品不卡| 色噜噜亚洲精品中文字幕| 成人国产午夜在线视频| 免费久久精品国产片香蕉| japan高清日本乱xxxxx| 毛片免费观看网站| 国产精品免费无遮挡无码永久视频| 亚洲va久久久噜噜噜久久狠狠| 99精品国产高清一区二区| 老司机67194精品线观看| 成人h视频在线观看| 国产亚洲精品自在久久| 中文字幕日韩精品一区二区三区| 国产你懂的视频| 欧美日韩综合在线视频免费看 | www.尤物在线| 波多野结衣医生| 大伊香蕉在线精品不卡视频| 亚洲欧美电影一区二区| 日本免费人成在线网站| 无码国产精品一区二区免费式芒果 | 日本一二线不卡在线观看 | 天堂在线最新资源| 亚洲国产欧美无圣光一区| 激情综合网婷婷|