如果只是调用显示微信用户头像与用户名称,不需要其它,就用下面的代码就行。
<open-data class="l_tu" type="userAvatarUrl"></open-data>
<open-data class="l_text" type="userNickName"></open-data>
以下是可以改成不同客户端调用显示不同的信息
<template>
<view>
<view class="tx-w">
<view class="tx">
<image class="tx-img" :src="yonghuwx.avatarUrl"></image>
<view class="zx"></view>
</view>
<view class="name">{{yonghuwx.nickName}} </view>
<view class="name-qm">自然的美好的,你的</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
yonghuwx: []
}
},
onLoad(){
let that = this;
uni.login({
provider: 'weixin',
success: function(loginRes) {
// 获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: function(infoRes) {
that.yonghuwx = infoRes.userInfo
console.log(that.yonghuwx)
}
});
}
});
},
methods: {
}
}
</script>
<style>
.tx-w{margin-top:200upx;}
.tx{text-align:center;}
.tx image{width:140upx;height:140upx;border-radius:50%;}
.name{text-align:center;margin-top:20upx;}
.name-qm{text-align:center;margin-top:20upx;font-size:30upx;}
</style>
'以下是微信端登录使用
1. 首先, 微信中的wx.getUserInfo接口改了,已经不能默认弹框进行授权了,必须引导用户点击按钮自己进行授权。
2. 用户进入页面时,可以先调用uni.getUserInfo, 如果用户已授权uni.getUserInfo是可以直接获取到用户的信息的
3. 如果是第一次授权,将会进fail回调,如果进入fail回调,给用户提示去进行授权就可以了
页面加载完成时调用uni.getUserInfo
onLoad(){
this.changeLogin();
},
methods:{
changeLogin(){
// 授权
// 获取用户详细信息, 可以获取到说明已经授权过, 直接拿到用户信息
uni.getUserInfo({
provider: 'weixin',
//授权成功的回调
success(res) {
uni.showToast({
title:'授权成功',
icon:'none'
})
console.info(res.data)
//that.login(res.data);//授权成功调用自己的登录方法就可以了
},
//第一次进入小程序
fail() {
uni.showToast({
title: '请点击授权进行登录',
icon: 'none'
});
}
});
}
}
授权html代码:
<button open-type="getUserInfo" lang="zh_CN" @getuserinfo="onGotUserInfo">授权账号信息</button>
点击授权js代码:
/**
* 用户同意授权个人微信信息
* @param {Object} e 用户的信息
*/
onGotUserInfo(e) {
console.info(e.detail)
console.info(e.detail.userInfo);
}