最新更新(2018-12-27): 最近做了改版,做成默認進來就是首頁,然后去判斷有沒有用戶信息,沒有的話再去判斷用沒授權過,如果授權過直接自動去獲取,沒有的話再跳轉到授權頁面。因為用戶授權主要就是針對新用戶,對於日常使用的用戶來說頻次幾乎為0,所以才做這樣的修改。
還有,新上手的朋友的話,注意多看看路由,采用重定向或者重啟動,這樣的話,在進入到授權頁面后,就沒有左上角的返回按鈕了!!!
這是以前小程序的用戶授權方式,根據scope判斷到全局數據里沒有用戶信息時可以主動調用授權彈框,然而最近更改了這一說明,說是為了提高用戶體驗度。
更改后的方式為:必須讓用戶自己主動點擊open-type為getUserInfo的按鈕才能觸發,把彈框的主動權還給了用戶。
注意:scope 為 "scope.userInfo" 時,無法彈出授權窗口,請使用 <button open-type="getUserInfo"></button>
對於何時讓用戶去點擊這個按鈕有兩種方案
一:用戶切換tab頁到個人中心的時候個人中心頁面判斷無用戶信息時展示授權按鈕,或者用戶進行相關業務點擊的時候讓他先授權。
二:進小程序就直接需要用戶點擊授權,當然,頁面上可以做一下處理。我采用就是這種方式。因為業務場景需要用戶第一時間授權拿到用戶信息。
具體:第一步:用戶進到小程序的第一個頁面不是tab主頁面,而是授權頁面。
在進入頁面的時候還給歡迎一行字加了動畫出場,開始使用也是。開始使用按鈕就是授權按鈕。

當用戶點擊允許后則跳轉到tab主頁面。這才相當於進入小程序,若是用戶點擊拒絕。那么就跳轉到提示頁面,提示用戶授權。
用戶毫無選擇,只能點擊這個按鈕並同意授權,不然無法正常進入小程序。
在授權頁面onload時判斷一下,若是有app.globalData.userInfo則跳轉到tab主頁面。(唯一不好的地方就是,會有零點幾秒的頁面切換效果)