网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

關于微信小程序getUserInfo最新修改后,如何在原有項目的授權邏輯的調整 ...

發布時間:2018-05-16 15:01 所屬欄目:小程序開發教程

今天一大早調試小程序,結果出現這個。。。微信小程序也是醉了,這么大的改動,也沒有通過開發者服務號通知一聲。

 

人在屋檐下不得不低頭(改唄,那么如何以最小的代價更新呢,下面給我的解決方案)

原來我們在首次進入小程序時,會通過getUserInfo調起用戶授權的彈窗,但是根據微信小程序,最新更新解釋,開發工具,體驗版本將不再支持這個授權方式
而是通過button組件讓用戶自主去點擊已完成授權目的(這個對開發者來說真的是很蛋疼)
那我們怎么以最小的代價,來完成授權邏輯的升級呢?

這里根據官方文檔給出我的解決方案

 


設置一個用戶授權登錄的過渡頁面,用戶首次,進入小程序時,通過<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 })


易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/24419.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×