問題
成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)達州主機托管報價,主機托管價格性價比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
在微信小程序開發(fā)中,獲取用戶信息是經(jīng)常會用到的!在之前,我們直接調(diào)用wx.getUserInfo接口,就可以直接獲取用戶的信息,然而為了安全考慮,從2018年4月30號開始,wx.getUserInfo接口不能直接調(diào)用(接口調(diào)整),需要使用<button open-type="getUserInfo"></button> 引導(dǎo)用戶主動進行授權(quán)操作,意外就是來的這么突然,防不勝防!!!

處理方法
1、<open-data></open-data> :只是簡單的獲取信息用于顯示

其中,type="userAvatarUrl"是獲取用戶頭像,type="userNickName"是獲取用戶昵稱,具體使用詳情查看小程序開發(fā)文檔,此方法僅用于直接簡單的展示用戶信息。
2、使用 <button open-type="getUserInfo">獲取用戶信息
小程序官方文檔有在說明wx.getUserInfo 當用戶未授權(quán)過,調(diào)用該接口將直接報錯,即使調(diào)用該接口將直接jinru進入fail的回調(diào); 當用戶授權(quán)過,可以使用該接口獲取用戶信息。

但是,如何有更好的用戶體驗來引導(dǎo)用戶手動調(diào)用此方法呢?這里思考了幾種實現(xiàn)方案:
1、在項目首頁直接調(diào)用getUserInfo方法,若從未授權(quán)過,跳轉(zhuǎn)到授權(quán)頁面引導(dǎo)用戶手動授權(quán)

在授權(quán)頁面authorize 寫入按鈕組件

并在js中,加入手動點擊按鈕的方法,返回首頁

此方案可行,但是授權(quán)頁面就一個授權(quán)的按鈕未免顯得突兀些,進一步做優(yōu)化方案。
考慮到是不是能夠直接通過條件渲染wx-if 在首頁多加一部分遮罩層作為引導(dǎo)用戶授權(quán)的頁面展示,因為用戶使用小程序一經(jīng)授權(quán)以后,再次進入小程序就不用授權(quán)了,也就是說只有在用戶第一次使用小程序的時候才會引導(dǎo)用戶授權(quán)操作,所以這里考慮通過遮罩層來實現(xiàn)。
在首頁多加一個遮罩層

同時查閱微信小程序開發(fā)文檔在頁面加載后調(diào)用wx.getSetting方法可以獲取當前用戶的設(shè)置,返回值中只會出現(xiàn)小程序已經(jīng)向用戶請求過的權(quán)限,這樣可以判斷用戶是否授權(quán)過權(quán)限

未授權(quán)授權(quán)遮罩層顯示

引導(dǎo)用戶授權(quán)后
hasUserInfo: true
遮罩層消失,完成授權(quán)。
微信修改getUSerInfo這個接口后確實不如之前直接進入小程序自動調(diào)用獲取用戶信息方便些,但是確實是為了加強安全性的考究,才通過按鈕的方式讓用戶自己主動去授權(quán),雖然對于開發(fā)者我們來講不太習(xí)慣,但是對于加強了用戶信息的安全性,網(wǎng)絡(luò)信息安全確實是比較重要的一環(huán)。
總結(jié)
以上所述是小編給大家介紹的微信小程序Getuserinfo解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
分享名稱:微信小程序Getuserinfo解決方案圖解
轉(zhuǎn)載注明:http://chinadenli.net/article32/gghdpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、電子商務(wù)、域名注冊、全網(wǎng)營銷推廣、定制開發(fā)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)