您好,登錄后才能下訂單哦!
本篇內容主要講解“微信小程序getUserInfo授權問題如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“微信小程序getUserInfo授權問題如何解決”吧!
設置一個用戶授權登錄的過渡頁面,用戶首次,進入小程序時,通過<button wx:if="{{canIUse}}" open-type="getUserInfo"bindgetuserinfo="bindGetUserInfo">同意授權登錄</button> <view wx:else>請升級微信版本</view> 讓用戶自己去點擊這個授權登錄的按鈕,然后再去進行后續的業務邏輯
延伸
如果用戶恰好在某個頁面登錄態失效時,統一讓其跳轉到登錄界面,點擊授權登錄成功,返回到之前的頁面
下面是具體代碼
1 App.js 2 App({ 3 onLaunch: function () {}, 4 onShow: function () {}, 5 ....., 6 toLogin: function () { 7 // 前往授權登錄界面 8 wx.navigateTo({ 9 url: '/pages/toLogin/toLogin', 10 }) 11 }, 12 ready: function () { 13 return Promise((resolve, reject) => { 14 const userkey = wx.getStorageSync('userkey') 15 const userId = wx.getStorageSync('userId') 16 const sessionData = wx.getStorageSync('sessionData') 17 // 檢查用戶是否具有登陸態 18 if (!userkey || !userId || !sessionData) { 19 // 如果未登錄就前往登錄界面 20 this.toLogin() 21 } else { 22 // 如果有就只要更改一下Promise,以繼續執行后續操作 23 resolve() 24 } 25 }) 26 } 27 })
1 somePage.js 2 var app = getApp() 3 const someServces = require('統一接口處理文件') 4 Page({ 5 data: {}, 6 onLoad: function (){}, 7 onShow: function (){}, 8 ......, 9 getSomeData () { 10 // 這里我們每次調用接口時,都要先去調用app.js中的ready方法 11 // 在app中ready會返回一個promise對象,只有其返回的狀態時resolved狀態時才會觸發.then()方法 12 app.ready().then(() => { 13 // 獲取服務端數據 14 }) 15 } 16 })
到此,相信大家對“微信小程序getUserInfo授權問題如何解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。