---恢復內容開始---
最近做微信小程序項目,授權這一塊是個很頭疼的事,項目中需要用到用戶信息和地理位置,需要用戶授權,如果用戶點擊了拒絕怎么處理呢?
一開始想的是用wx.getSetting獲取用戶的授權的權限,然后判斷用戶有沒有授權相應權限,如果沒有授權,調用wx.authorize授權。
實驗后發現並沒有什么用,使用wx.authorize並沒有調起授權,看了網上一些博客,另一個方法:
在wx.login失敗的時候,調checkUserInfoAuth方法,彈出一個彈窗,點擊確定按鈕跳客戶端小程序設置頁面,在該頁面中用戶可以勾選相應權限,當然在返回時未勾選的話在success里有個判斷scope.userInfo是否為true,如果不為true,再調checkUserInfoAuth,直到勾選為止,有點小無賴,但是沒辦法。函數中有個setTimeout是因為我發現在我手機里如果循環調這個方法,彈窗它不關閉,然后點返回好幾個彈窗疊在那,我也沒找到關閉彈窗的方法,就先用setTimeout臨時解決一下。
---恢復內容結束---