Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序用户头像昵称获取新规适配教程,用户自定义头像昵称

微信小程序用户头像昵称获取新规适配教程,用户自定义头像昵称

作者头像
超级小可爱
发布于 2023-02-22 07:32:58
发布于 2023-02-22 07:32:58
6.1K31
代码可运行
举报
文章被收录于专栏:小孟开发笔记小孟开发笔记
运行总次数:1
代码可运行

微信小程序的头像昵称新规已经开始逐步实施,一些群友的小程序已经无法登录,借着这次机会和大家好好聊聊小程序的登录问题。

这次新规的意思就是,任何接口都无法再获取到用户的头像和昵称进行一键登录了,开始转为用户自己填写头像昵称,这无疑会对用户体验造成负面影响,毕竟一键登录还是很方便的。

好在这次新规其实在今年5月份就发布了,现在10月份才开始实施,留给了开发者足够的跑路时间。

不过我在5月份以后开发的小程序,都开始转为了静默登录,用户自己可以上传头像和用户名这种。

也就是使用wx.login接口实现,其实我们后台基本都是靠openid来区别用户,而获取openid的login接口无需用户确认,用户也感受不到,这就是静默登录。

而获取用户的昵称头像,只不过是给用户看起来正规的感觉,但除此之外,对于一些普通小程序来说,用处不是很大,毕竟不会有开发者靠昵称头像等数据来区分用户。

所以我的思路就是直接使用wx.login,在用户进入小程序的第一时间就进行静默登录, 然后给用户一个默认的昵称和头像,用户可以选择修改/不修改,无论怎样,我们都可以用openid或后台数据表ID来区分用户。

关于login接口,大家可以看官方文档,相信大家程序也都已经写好了这个接口

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html

这次我着重要讲的是,用户静默登录后怎么样展示给用户,我的方法是设置一个默认头像:

并给用户一个默认昵称,比如游客、普通用户、SSSSVIP中P,反正随意设置,我设置的是用户+用户ID:

这样,当用户进入小程序后,我们直接就进行静默登录,并将用户名和头像同用户openid一起存到数据库,用户在无需任何操作的情况下,就拥有了自己的账户,比以前点击一键登录还要无感,是不是非常nice!

其实大部分人对于用户名和头像是不太在意的,如果你不是圈子,论坛小程序,只是普通工具,基本到这步也就可以了,当然,最好还是给用户加一个自定义功能,这样也有更好的用户体验,留住一部分强迫症的用户。

下面就开始讲代码了,这次介绍下微信新加的两个接口:

头像昵称填写能力,通过这两个接口,用户在需要自定义头像、昵称的时候,能自行选择是否一键复用微信信息

这样也方便了用户快速填写,一些论坛,圈子小程序更好进行适配,以及像我这样的强迫症开发者,可以不用,但不能没有….

头像快速填写接口的使用就像调用分享能力,需要用到button的open-type属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button open-type="chooseAvatar"  bindchooseavatar="onChooseAvatar">      <text class="cuIcon-camera"></text></button>

用户点击上方按钮即可调起快速填写界面,用户选择完图片后,onChooseAvatar方法将会收到头像回调

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onChooseAvatar(e) {    //e.detail.avatarUrl就是用户选择的头像本地路径    console.log(e.detail.avatarUrl)}

之后将获取到的e.detail.avatarUrl上传,替换到用户数据库中的默认头像即可。

下面是快速填写昵称能力:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input type="nickname" placeholder="请输入昵称" maxlength="14"/>

将input组件的type设置为nickname,这样用户点击输入时,键盘上方就会出现用户的微信昵称供快速填写

之后用户点击确定后,即可用以前的方式获取input的值,传给后台,写到用户的数据库昵称字段中,完成!

而且这两个能力,微信已经自行接入了安全检测接口,也就是用户上传违规头像或昵称时,微信会在前端输入时就提示用户违规,这样也省了我们再次进行违规检测。

注意:以上代码仅作为展示,如直接用到开发环境中需自行修改,本篇教程非新手向。

未经允许不得转载:肥猫博客 » 微信小程序用户头像昵称获取新规适配教程,用户自定义头像昵称

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
3 条评论
热度
最新
清晰明了,感谢大佬分享
清晰明了,感谢大佬分享
回复回复2举报
大佬,我有个问题啊,这个路径只是临时路径,会改变,下次登录就会换个路径,该怎么得到这个真实永久路径呢
大佬,我有个问题啊,这个路径只是临时路径,会改变,下次登录就会换个路径,该怎么得到这个真实永久路径呢
11点赞举报
临时路径想要持久化就是上传到服务器就可以了
临时路径想要持久化就是上传到服务器就可以了
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
微信小程序获取用户头像和昵称能力调整!新的代替方案!
前段时间,微信发布《小程序用户头像昵称获取规则调整公告》称实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。
傲绝
2023/03/23
6.1K0
微信小程序获取用户头像和昵称能力调整!新的代替方案!
微信小程序微信登录
开发接口 登录 wx.login wx.checkSession 签名加密
达达前端
2019/07/15
35.6K0
微信小程序微信登录
微信小程序云开发之新闻博客社区项目debug后的项目代码
我们使用云函数来获取到我们不同的用户登录时的openid,然后我们在return出去。
淼学派对
2023/10/14
2250
微信小程序云开发之新闻博客社区项目debug后的项目代码
微信小程序获取昵称和头像的解决方案
在微信小程序实际开发中,获取用户的昵称和头像是一项常见功能,但因为微信小程序的api依赖于不同基础库,所以导致这一需求需要用不同方法来解决。
iwhao
2024/07/02
3.7K1
微信小程序获取昵称和头像的解决方案
微信小程序获取用户信息(wx.getUserInfo)
微信小程序获取用户信息API:wx.getUserInfo(Object object)
德顺
2019/11/13
2.6K0
微信小程序获取用户信息(wx.getUserInfo)
微信小程序授权登录与用户信息保存详解(微信报修小程序源码讲解六)
提醒:小程序端源码已经更新整理,相比旧源码,新源码简洁、结构清晰、需要的同学及时找我获取源码。
热心的程序员
2020/04/02
8.7K0
微信小程序授权登录与用户信息保存详解(微信报修小程序源码讲解六)
微信小程序授权 获取用户基本信息
需要用户主动触发,button open-type 的值设置为 getPhoneNumber
玖柒的小窝
2021/09/29
2.4K0
微信小程序授权 获取用户基本信息
微信小程序开发用户授权登录
第三方服务器和微信服务器: 注意:session_key是微信服务器生成的针对用户数据进行加密签名的密钥,不应该进行传输到客户端.
达达前端
2022/04/29
2.6K0
微信小程序开发用户授权登录
基于bmob快速搭建小程序用户模块
客户端调用wx.login()后获取的code,后端人员拿到code和微信换取openid和session_key;
疯狂的小程序
2018/01/24
1.3K0
微信小程序之获取并解密用户数据(获取openid,nickName等)
本文主要总结微信小程序通过后台请求访问微信用户信息 创建一个微信小程序工程(自行百度) 微信小程序index.js代码 //index.js //获取应用实例 const app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, backUserInfo:{},//后台得到的微信用户信息 hasUserInfo: false, canIUse: wx.canIUse('button.o
小帅丶
2021/12/28
5.2K0
微信小程序之获取并解密用户数据(获取openid,nickName等)
微信小程序调用接口获取登录获取用户信息
微信小程序 getPhoneNumber 获取手机号的功能需要需先调用 wx.login 接口,今天就来一篇 wx.login 接口和 wx.getUserInfo 接口的文章,这两个接口通常在小程序中还是十分常用的。 wx.login 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 注:调用 login 会引起登录态的刷新,之前的 sessionKey 可能会失
沈唁
2018/05/24
7K1
小程序自定义头像昵称
由于个人小程序获取用户授权getUserProfile的方法已失效,所以采用自定义昵称的方法。
yma16
2023/11/16
3770
小程序自定义头像昵称
【微信官方】获取用户信息方案介绍
背景 ✦✦01✦✦ 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.getUserInfo 接口。我们发现几乎所有的小程序都会调用这个接口。虽然我们在设计文档上有提出最好的设计是在真正要用户信息的情况下才去获取用户信息,不过很多开发者并没有按照我们的期望去做,导致用户在使用的时候有很多困扰。 归结起来有几点: 开发者在首页直接调用 wx.getUserInfo 进行授权,弹框有会使得一部分用户放弃小程序的使用。 开发者没有处理用户拒绝弹框的情况,有部分小程序强制要求用户授权头像昵称等信息才能继
连胜
2018/03/07
1.9K0
微信小程序Ⅴ [获取登录用户信息,重点openID(详解)]
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/79559639
泥豆芽儿 MT
2018/09/11
16.5K0
微信小程序Ⅴ [获取登录用户信息,重点openID(详解)]
小程序用户登录架构设计
上一篇文章《小程序静默登录方案设计》提到过,小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。
Nealyang
2021/06/08
2.3K0
使用uni-app开发微信小程序之登录模块
从微信小程序官方发布的公告中我们可获知:小程序体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作:
wfaceboss
2019/04/08
5.8K1
使用uni-app开发微信小程序之登录模块
2021年啦,微信小程序最新登录以及授权方法解析,给新手小白的~
有的小伙伴在做微信小程序时突然发现网上的授权方法不太统一,翻看文档发现,噢,原来是有改动!这个时候有的友友就很生气,人家都写完了怎么说改就改,还得重新去兼容,没办法,人在屋檐下不得不低头,这里我就把授权部分整理一下方便大家理解!
前端小tips
2021/12/12
3.1K0
2021年啦,微信小程序最新登录以及授权方法解析,给新手小白的~
微信小程序 宠物论坛1[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
1K0
微信小程序 宠物论坛1[通俗易懂]
处理微信小程序授权登录
当微信小程序项目中涉及到获取用户信息并实现用户登录时,可以通过微信官方提供的登录能力方便地获取微信的用户身份标识,快速建立小程序内的用户体系。官方文档只是提供如何去调用授权登录,如果直接原封不动的照搬文档来进行代码编写,这样势必会造成代码的维护性差,所以本篇着重介绍如果更优雅的处理微信小程序的授权登录。
ruochen
2021/11/26
8.2K0
微信小程序授权获取用户详细信息openid
Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1
李才哥
2019/07/10
5.8K0
微信小程序授权获取用户详细信息openid
推荐阅读
相关推荐
微信小程序获取用户头像和昵称能力调整!新的代替方案!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验