持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情
问题:在电脑本地可以看到头像 但是在测试环境却没有显示 显示灰色头像(mmbiz.qpic.cn/mmbiz/icTdb…)
<open-data v-if="wxlogin" type="userAvatarUrl"></open-data>
原来官方已经回收了
uniapp 微信登录获取微信头像
uni.getUserInfo({
provider: "weixin",
success: (res) => {
this.userList = res.userInfo;
console.log('info',res.userInfo)
}
})
发现数据是存在的,但是当会发现不是当前登陆人的数据。只是单纯一个微信用户的数据。
getList() {
uni.getUserProfile({
desc: "获取个人信息",
success: (res) => {
this.userList = res.userInfo;
console.log(res.userInfo)
}
})
},
搞了半天死活不弹授权窗 ,一开始放在onshow 没有弹窗,但是通过按钮到时可以弹出
解决授权窗 如果用showModel 确认弹出也行 不过点击取消还是会弹出
why???
看代码:
getList() {
console.log("sasssss来了吗")
uni.showModal({
title: '授权',
content: "是否授权微信头像",
success: () => {
this.getHeader()
},
fail: (res) => {
return uni.$showMsg('您取消了授权')
}
})
},
getHeader() {
uni.getUserProfile({
desc: "获取你的昵称、头像、地区及性别",
success: (res) => {
this.userList = res.userInfo;
console.log(res.userInfo)
}
})
},
success 接口调用成功的回调函数 不是确认
根据确认是否弹框 得根据res.confirm 再做一层判断
uni.showModal({
title: '授权',
content: "是否授权微信头像",
success: (res) => {
if (res.confirm) {
// console.log('用户点击确定');
this.getHeader()
} else if (res.cancel) {
// console.log('用户点击取消');
}
},
fail: (error) => {}
})
参考:
但是切换到页面弹出是否授权不是很合理
onShow() {
if (this.loginStatus) {
if (this.isFirstLogin) {
console.log("wxLoginShow", this.wxlogin)
this.getList();
this.isFirstLogin = false
}
}
},