Obtener información de usuario (wx.getUserInfo ())
Este método requiere que el usuario autorice scope.userInfo antes de poder llamarlo
Escribe un caso pequeño
wxml
<button type="primary" open-type="getUserInfo" bindgetuserinfo="getUserInfo">询问是否同意授权并获取用户信息</button>
<view class="container">
<text>{
{ userInfo.nickName }}</text>
<text>{
{userInfo.city}}</text>
<text>{
{userInfo.province}}</text>
<text>{
{userInfo.language}}</text>
<image src='{
{ userInfo.avatarUrl }}'></image>
</view>
.js
data: {
userInfo: {},
},
getUserInfo:function(){
let that = this
//首先查看是否得到用户 的授权
wx.getSetting({
success:function(res){
//console.log(res)
//res.authSetting['scope.userInfo'] 代表用户授予权限的状态
console.log(res.authSetting['scope.userInfo'])
if(res.authSetting['scope.userInfo']){
//如果用户给与了这个权限 可以进行获取用户信息
wx.getUserInfo({
success: (res) => {
console.log(res.userInfo)
that.setData({
userInfo: res.userInfo
})
}
})
}else{
//如果用户没有给与这个权限则 发送询问权限的请求
wx.authorize({
scope:"scope.userInfo",//询问授权的属性
success:function(res){
console.log(res)
}
})
}
}
})
},
Nota: Esto en la devolución de llamada no es lo mismo que en la página actual. Solución: 1: Use la sintaxis ES 6, 2: defina eso (deje eso = esto y luego eso.datos)
sintaxis es6
wx.getUserInfo({
success: (data) => {
this.setData({
// 如何确定数据被更新?调试器中 AppData
userInfo: data.userInfo
})
}
})