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

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

注:以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弹出用户授权是小游戏 的方法,不是小程序!!!

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

相关推荐
zhiboshequ17 小时前
Ai音视频对话在微信小程序端的技术实现方案
人工智能·微信小程序·live-pusher·live-player·音视频对话
小蒜学长17 小时前
基于过程性评价的ai助学平台(代码+数据库+LW)
java·spring boot·后端·微信小程序·过程性评价
鸿蒙开发2 天前
# 代码写完才发现不能上线:微信小程序开发前必须准备的 8 件事
微信小程序·产品经理
李纲明2 天前
微信小程序 web-view 打开空白或提示未配置业务域名:校验文件、HTTPS 与跳转域名排查
前端·微信小程序·https·web-view·小程序开发·业务域名
fengGer的bugs2 天前
微信小程序实战:本地存储的新生儿喂养记录(原生 + 四套主题 + 疫苗日程)
微信小程序·小程序
andrsted3 天前
练题簿免费刷题小程序:和学习搭子共用一份题库,一起刷题复习
学习·面试·微信小程序·小程序·学习方法·刷题
计算机毕设定制辅导-无忧学长3 天前
《基于微信小程序的个人智能刷题助手的设计与实现》
java·spring boot·mysql·微信小程序·uniapp·个人智能刷题助手系统
百慕大三角3 天前
为了在 Linux CI 里跑小程序 E2E,我把微信官方基础库搬进了浏览器:wxa-runner 开源实践
微信小程序·agent·测试
txc4 天前
我用 AI 给两个人写了个微信小程序(二):从「能用」到「用得对」
微信小程序
海上彼尚4 天前
【微信小程序】xxx该网站的安全证书存在问题,可选择 “继续”在浏览器中访问。
安全·微信小程序·小程序