【小程式】獲取使用者資訊儲存到本地、全域性變數
阿新 • • 發佈:2018-12-15
微信小程序升級後,獲取 wx.getUserInfo 介面後續將不再出現授權彈窗,所以需要使用 button 元件,並將 open-type 指定為 getUserInfo 型別,獲取使用者基本資訊。 微信小程式與小遊戲獲取使用者資訊介面調整說明
1.在頁面上建立一個button標籤把 open-type
設定為 getUserInfo
程式碼如下:
<button type="default" open-type="getUserInfo" bindgetuserinfo="getUserInfo">登入</button>
2.事件getUserInfo的回撥函式如下:
getUserInfo: function() { //開啟loading框 wx.showLoading({ title: '正在登入...', mask: true }); //調登入api wx.login({ success: res_login => if (res_login.code) { //獲取使用者資訊 wx.getUserInfo({ success: res => { //獲取使用者的openId wx.request({ url: '後臺提供的介面地址', data: { code: res_login.code //傳入code引數獲取使用者的openId }, header: { 'content-type': 'application/json' }, success: res => { //1.存使用者資訊到本地儲存 wx.setStorageSync('userInfo', res.data) //2.存使用者資訊到全域性變數 var app = getApp(); app.globalData.userInfo = res.data //隱藏loading框 wx.hideLoading(); }, fail: res => { wx.showToast({ title: '登入失敗', icon: 'none' }) } }) }, }) } } }) },
3.如果使用者初次進來點選登入拒絕了授權,應在 wx.getUserInfo
的失敗回撥函式中相容此場景,例項程式碼如下:
fail: () => {
//隱藏loading框
wx.hideLoading();
//提示使用者授權
wx.showToast({
title: '你已拒絕授權,請授權再使用',
icon: 'none'
});
}