微信小程序獲取用戶信息的兩種方法wx.getUserInfo與open-data實例分析
本文實例講述了微信小程序獲取用戶信息的兩種方法wx.getUserInfo與open-data。分享給大家供大家參考,具體如下:
在此之前,小程序獲取微信的頭像,昵稱之類的用戶信息,我用的都是wx.getUserInfo,例如:
onLoad: function (options) {
var that = this;
//獲取用戶信息
wx.getUserInfo({
success: function (res) {
console.log(res);
that.data.userInfo = res.userInfo;
that.setData({
userInfo: that.data.userInfo
})
}
})
},
wx.getUserInfo需要用戶授權(quán)scope.userInfo,也就是那個授權(quán)彈窗。

但是?。?!重點來了,自從微信接口有了新的調(diào)整之后 這個wx.getUserInfo()便不再出現(xiàn)授權(quán)彈窗了,需要使用button做引導~
<!--wxml-->
<!-- 需要使用 button 來授權(quán)登錄 -->
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授權(quán)登錄</button>
<view wx:else>請升級微信版本</view>
js:
Page({
data: {
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
onLoad: function() {
// 查看是否授權(quán)
wx.getSetting({
success: function(res){
if (res.authSetting['scope.userInfo']) {
// 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱
wx.getUserInfo({
success: function(res) {
console.log(res.userInfo)
}
})
}
}
})
},
bindGetUserInfo: function(e) {
console.log(e.detail.userInfo)
}
})
這就是等于一步變兩步了~現(xiàn)在用button的話 可以在產(chǎn)品上多加引導,不會顯得那么突兀的出來一個彈窗了
然鵝,如果你僅僅只是想展示用戶信息的話,那便使用open-data 吧,如下:
<!-- 如果只是展示用戶頭像昵稱,可以使用 <open-data /> 組件 --> <open-data type="userAvatarUrl"></open-data> <open-data type="userNickName"></open-data>
只需要這兩行wxml的代碼,便可展示微信昵稱和頭像,是不是很驚喜!

希望本文所述對大家微信小程序開發(fā)有所幫助。
相關(guān)文章
JavaScript實現(xiàn)為指定對象添加多個事件處理程序的方法
這篇文章主要介紹了JavaScript實現(xiàn)為指定對象添加多個事件處理程序的方法,可實現(xiàn)讓指定對象處理多個事件的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
Javascript實現(xiàn)Array和String互轉(zhuǎn)換的方法
這篇文章主要介紹了Javascript實現(xiàn)Array和String互轉(zhuǎn)換的方法,涉及JavaScript中toString方法與split方法的使用技巧,需要的朋友可以參考下2015-12-12

