使用用户授权方式获取微信头像昵称

使用用户授权方式获取微信头像昵称

注:以uniapp为例,部分写法与原生微信有所不同

老版本

可直接通过wx.getUserProfile的方式获取用户信息,然后填充头像和昵称,但在2022 年 10 月 25 日已被回收,返回信息为默认灰色头像和昵称:'微信用户',

以下方式仅针对开发调试,不上线的情况:

在微信开发者工具中:右上角详情 -> 本地设置 -> 调试基础库-> 选择2.21.2~2.27.0之间的版本-> 推送-> 确定

设置后可在开发版本使用这种方式获取用户信息

参考文档:小程序用户头像昵称获取规则兼容文档

typescript 复制代码
<image class="img" :src="userInfo.avatarUrl ? userInfo.avatarUrl : '/static/images/headers.jpg'" @click="getUser"></image>
<text>{{ userInfo.nickName || '未登录' }}</text>
​
getUser() {
    wx.getUserProfile({
    desc: '用于完善用户信息', // 新版已弃用,只能获取默认头像和昵称,然后onChooseAvatar方法获取头像
    success: (res) => {
        console.log(res)
        this.userInfo = res.userInfo;
        this.nickname = this.userInfo.nickName;
    }
  })
},

新版本

参考文档:头像昵称填写能力及对应原生写法

头像

需要将 [button] 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar(对应uniapp中的写法如下) 事件回调获取到头像信息的临时路径。

昵称

需要将 [input] 组件 type 的值设置为 nickname,当用户在此input进行输入时,键盘上方会展示微信昵称

ini 复制代码
<button v-if="userInfo.avatarUrl" class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
    <image class="img" :src="userInfo.avatarUrl ? userInfo.avatarUrl : '/static/images/headers.jpg'"></image>
</button>
<input type="nickname" @blur="handleBlur()" :focus="focus" v-model="nickname">
javascript 复制代码
// 获取微信头像
onChooseAvatar(e) {
    this.userInfo.avatarUrl = e.detail.avatarUrl; //头像地址
    uni.setStorageSync("avatarUrl",this.avatarUrl)
},
// 获取用户昵称
handleBlur() {
    if(this.nickname==''){
        uni.showToast({
            title:"不能为空",
            icon:'error'
        })
    }else{
        this.isEdit = false
    }
},

另外

wx.authorize方法中的scope.userInfo也不能再使用,

通过wx.createUserInfoButton弹出用户授权是小游戏 的方法,不是小程序!!!

可以使用的部分参考文档:用户授权列表

相关推荐
苏灵凯2 天前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
nhc0882 天前
贵阳纳海川科技有限公司・货运物流行业解决方案
科技·微信小程序·小程序·软件开发·小程序开发
admin and root2 天前
AWS S3 对象存储攻防&云安全之OSS存储桶漏洞
微信小程序·小程序·渗透测试·云计算·aws·src·攻防演练
李庆政3702 天前
uniapp+unicloud打包部署微信小程序
微信小程序·小程序·uni-app
woshinon3 天前
【Uniapp(HBuilderX)针对微信小程序和H5平台实现差异化配置(自定义发行)】
微信小程序·小程序·uni-app
hashiqimiya3 天前
微信小程序---textarea组件布局
微信小程序·小程序
笨笨狗吞噬者3 天前
uni-app 编译小程序原生组件时疑似丢属性,可以给官方提 PR 了
前端·微信小程序·uni-app
摇滚侠4 天前
JAVA 项目教程《苍穹外卖-11》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·微信小程序
AnalogElectronic4 天前
uniapp学习9,同时兼容h5和微信小程序的百度地图组件
学习·微信小程序·uni-app
AnalogElectronic4 天前
uniapp学习5,兼容微信小程序的俄罗斯方块游戏
学习·微信小程序·uni-app