微信小程式——授權
阿新 • • 發佈:2018-12-15
/**
* 生命週期函式--監聽頁面載入 onLoad
*/
let userInfo = app.globalData.userInfo if (!(!userInfo && typeof userInfo != "undefined" && userInfo != 0)) { this.setData({ userInfo, hasUserInfo: true, }) } else if (this.data.canIUse) { // 由於 getUserInfo 是網路請求,可能會在 Page.onLoad 之後才返回 // 所以此處加入 callback 以防止這種情況 app.userInfoReadyCallback = res => { console.log('userInfoReadyCallback') this.setData({ userInfo: res, hasUserInfo: true }) } }
<button class="submit-btn" wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo">免費領取</button>
<view class="submit-btn" wx:else>請升級微信版本</view>
/** * 頁面的初始資料 */ data: { userInfo: null, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo') },
//未授權點選彈出授權 getUserInfo(e) { console.log('點選授權 getUserInfo:', e) if (e.detail.errMsg === 'getUserInfo:ok') { let userInfo = e.detail app.func.putCache('userInfo', userInfo) app.globalData.userInfo = userInfo this.setData({ userInfo: userInfo, hasUserInfo: true }) $wxLogin().then(res => { let code = res.code wx.setStorageSync("code", code) return code }).then(res => { //邏輯 }) } else { // 取消授權 $toast('取消授權') } },