<!--wxml-->
<view class="container">
<view class="userinfo">
<!-- 如果没有用户信息,只显示获取用户信息的按钮 -->
<block wx:if="{{!hasUserInfo}}">
<button bind:tap="getUserProfile">获取用户信息</button>
</block>
<!-- 如果有用户信息,显示用户头像和昵称 -->
<block wx:else>
<text>{{userInfo.nickName}}</text>
<image src="userInfo.avatarUrl" mode="widthFix"/>
</block>
</view>
</view>
js:
//js
Page({
data: {
userInfo: {},
hasUserInfo: false,
},
onLoad: function() {
},
getUserProfile(){
wx.getUserProfile({
desc: 'nickname',
success:(res)=>{
console.log(res);
this.setData({userInfo:res.rawData,hasUserInfo:true});
console.log(this.data.userInfo);
}
})
}
} );
控制台信息:{cloudID: undefined, encryptedData: "4PxhrI7abWIvWhmrWaJ+Wss1T00Ol5Qtkr3/zJcfgthaG6QOh3…CPUQpYUt03KyWGm/QdR4F8Ib85xiNnejLx1euQ2djfxiTCwAN", iv: "5uDhJgWNhFFMbYJVD9Nmuw==", signature: "fc680633c9c59f58184c2f2cd1b40125b111cb11", userInfo: {…}, …}
load.js? [sm]:15"nickName":"微信用户","gender":0,"language":"","city":"","province":"","country":"","avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132","is_demote":true}
[渲染层网络层错误] Failed to load local image resource /pages/load/userInfo.avatarUrl
the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error)
(env: Windows,mp,1.06.2405020; lib: 3.5.3)
{
1、
2、res.rawData是一个JSON字符串,如果要用这个参数,需要转成JSON才行。
可以直接使用 res.userInfo 。
————
目前 getUserProfile 接口除了旧版本微信(基础库版本低于2.27.1)和接口调整生效期前发布的小程序版本外,默认返回灰色头像和“微信用户”,获取不到用户微信头像和昵称;当前如果有头像和昵称获取的需要,只能让用户自己填写:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html
image组件赋值错误
第二:这个接口最新的基础库不支持了