午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

小程序模板網

微信小程序-getUserInfo回調的實例詳解

發布時間(jian):2018-01-03 09:47 所屬欄目:小程序開發教程

前言(yan):這(zhe)里(li)就不吹(chui)噓微(wei)信小(xiao)程序(xu)有多(duo)厲(li)害(hai)了,畢竟也不是(shi)我寫(xie)的,直接談談我在做(zuo)小(xiao)程序(xu)開(kai)發時遇到的奇(qi)異Bug。getUserInfo多(duo)次調用:對于(yu)wx.getUserInfo應(ying)該很多(duo)開(kai)發者都用過,用于(yu)獲(huo)取用戶(hu)基本(ben)信息,前提是(shi)需要用戶(hu)授權(quan) ...

 
 
 

前言:

 這里就(jiu)不吹噓微信小(xiao)程序有多(duo)厲害了,畢竟也不是(shi)我(wo)寫的,直接談談我(wo)在做(zuo)小(xiao)程序開發時遇到的奇異Bug。

 

getUserInfo多次調用:

對(dui)于wx.getUserInfo應(ying)該很多開發者都用(yong)過(guo),用(yong)于獲取用(yong)戶(hu)基本信息,前提是需(xu)要(yao)用(yong)戶(hu)授權,如果用(yong)戶(hu)先(xian)前沒有授權,則(ze)彈出一個提示框如下:

 

 

點(dian)擊(ji)允(yun)許后(hou),我(wo)們就能拿到用戶信(xin)息,再進行后(hou)面(mian)的(de)(de)一(yi)(yi)(yi)系(xi)列操作。這一(yi)(yi)(yi)切(qie)看起來都是(shi)(shi)那么(me)美(mei)好,可是(shi)(shi)在某(mou)次運(yun)行中,點(dian)允(yun)許授權后(hou),程序并沒有按照我(wo)們的(de)(de)預期往下執(zhi)行。最后(hou)發現在其他(ta)的(de)(de)地方也調用一(yi)(yi)(yi)次了wx.getUserInfo方法,并且只執(zhi)行了其中一(yi)(yi)(yi)個(ge)授權成功的(de)(de)回調。假設是(shi)(shi)如下代碼:

 

 

結論:

1. 如果用(yong)戶已授權: A B C都(dou)會被(bei)打印。

2. 用戶未授權:點擊允許后,A B C三個其一會被隨機打印。

當然最好(hao)不(bu)要在多處同時調(diao)用wx.getUserInfo方(fang)法(fa),不(bu)然遇到這個問題會很(hen)頭疼。我對這個問題的看法(fa)是,多次調(diao)用getUserInfo方(fang)法(fa)只(zhi)(zhi)會產生一個彈(dan)窗的實(shi)例,所以點擊允許時,只(zhi)(zhi)執行(xing)一次回調(diao)也很(hen)正常(chang),但是隨機執行(xing)其中(zhong)一個方(fang)法(fa)就很(hen)奇(qi)怪(guai)了。

 

解決方法:

1. 不(bu)同時調用wx.getUserInfo方法,需要同時調用的情況少之又少。

2. 封裝一個(ge)getUserInfo方(fang)法(fa),把(ba)傳入的回調方(fang)法(fa)存(cun)入數組,在(zai)授(shou)權成功(gong)/失(shi)敗的回調中遍歷(li)調用后清空數組。

 

以下是測試環境:

微信開發者工具版本:v1.01.170925

基礎庫版本: 1.3.0

如有疑(yi)問請(qing)留言或(huo)者到(dao)(dao)本站(zhan)社區(qu)交流討(tao)論,感(gan)謝(xie)閱讀(du),希望能幫助(zhu)到(dao)(dao)大(da)家,謝(xie)謝(xie)大(da)家對本站(zhan)的支持!



易優小程序(xu)(企業版)+靈活api+前(qian)后(hou)代碼(ma)開(kai)源 碼云倉庫:
本文地址://www.jinyoudianli.com/wxmini/doc/course/18362.html 復制鏈接 如(ru)需定制請聯系易優(you)客服(fu)咨詢:

工作日 8:30-12:00 14:30-18:00
周六及部(bu)分節假日(ri)提供值班服(fu)務(wu)

易小優
轉(zhuan)人工 ×