這兩天,各位小程序開(kāi)發(fā)的同學(xué),在群里討論最多的問(wèn)題,就是小程序的授權(quán)問(wèn)題了,微信官方已經(jīng)發(fā)公告了,后續(xù)將不再支持wx.getUserInfo 接口獲取用戶信息,只能使用button,讓用戶主動(dòng)去授權(quán)。

詳細(xì)公告內(nèi)容,請(qǐng)自己到社區(qū)中搜索。
連勝老師今天也做了相應(yīng)的代碼改動(dòng),雖然很不情愿改,但是,沒(méi)辦法,微信是小程序的規(guī)則制定者,你不改的話,小程序就沒(méi)辦法上線。用戶信息接口調(diào)整,這里我就不吐槽了,大家自己私下去罵一下TX就行了。
先來(lái)看一下如何調(diào)整登錄邏輯,我畫了個(gè)流程圖:
判斷是否授權(quán):

當(dāng)getSetting中返回的scope.userInfo為true時(shí),才去請(qǐng)求API,否則還是展示介紹頁(yè)面 & 授權(quán)button,此頁(yè)面需要把button的open-type設(shè)置為getUserInfo,然后監(jiān)聽(tīng)bindgetuserinfo事件:

這部分代碼可以寫在template中,方便多個(gè)page中去引用,JS部分如下:

登錄所需要的userInfo和iv等信息,可以在event.detail中獲取到。
這里把登錄邏輯寫在了util.login中,在調(diào)用API之前,需要先調(diào)用wx.login獲取code,這部分代碼我就不貼出來(lái)了~
基本實(shí)現(xiàn)效果,有待后續(xù)優(yōu)化:

|