您现在的位置是:首页 > 技术教程 正文

微信小程序最新获取头像和昵称的方法 直接用!

admin 阅读: 2024-03-28
后台-插件-广告管理-内容页头部广告(手机)

调整背景

微信小程序获取用户头像和昵称一个开放接口是wx.getUserInfo2021年4月5日被废弃,原因是很多开发者在打开小程序时就通过组件方式唤起getUserInfo弹窗,如果用户点击拒绝,无法使用小程序,这种做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户,后面新添加的一个开放接口wx.getUserProfile,也是用于获取用户头像和昵称

关于wx.getUserProfile

但2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整

考虑到微信版本的更新,目前开发最好还是使用头像昵称填写能力这个方法来做,废话不多说代码奉上

头像填写

从基础库 2.21.2 开始支持

当小程序需要让用户完善个人资料时,可以通过微信提供的头像昵称填写能力快速完善。

根据相关法律法规,为确保信息安全,由用户上传的图片、昵称等信息微信侧将进行安全检测,组件从基础库2.24.4版本起,已接入内容安全服务端接口(mediaCheckAsyncmsgSecCheck),以减少内容安全风险对开发者的影响。

昵称填写

代码示例

  1. <view data-weui-theme="{{theme}}">
  2. <button class="avatar-wrapper" open-type="chooseAvatar" bindchooseavatar="onChooseAvatar">
  3. <image class="avatar" src="{{avatarUrl}}">image>
  4. button>
  5. <form catchsubmit="formSubmit">
  6. <view class="row">
  7. <view class="text1">昵称:view>
  8. <input type="nickname" class="weui-input" name="nickname" placeholder="请输入昵称"/>
  9. view>
  10. <button type="primary" style="margin-top: 40rpx;margin-bottom: 20rpx;" form-type="submit">提交button>
  11. form>
  12. view>
  1. .avatar-wrapper {
  2. padding: 0;
  3. width: 56px !important;
  4. border-radius: 8px;
  5. margin-top: 40px;
  6. margin-bottom: 40px;
  7. background-color: #fff;
  8. }
  9. .avatar {
  10. display: block;
  11. width: 56px;
  12. height: 56px;
  13. }
  14. .container {
  15. display: flex;
  16. }
  17. .row{
  18. border-top: 1px solid #ccc;
  19. border-bottom: 1px solid #ccc;
  20. display: flex;
  21. align-items: center;
  22. height: 80rpx;
  23. padding-left: 20rpx;
  24. }
  25. .text1{
  26. flex: 2;
  27. }
  28. .weui-input{
  29. flex: 6;
  30. }
  1. const app = getApp()
  2. const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. avatarUrl: defaultAvatarUrl,
  9. theme: wx.getSystemInfoSync().theme,
  10. },
  11. onChooseAvatar(e) {
  12. const { avatarUrl } = e.detail
  13. this.setData({
  14. avatarUrl,
  15. })
  16. app.globalData.userInfo.avatarUrl = avatarUrl
  17. },
  18. formSubmit(e){
  19. app.globalData.userInfo.nickName = e.detail.value.nickname
  20. wx.switchTab({
  21. url: '/pages/home/index',
  22. })
  23. },
  24. /**
  25. * 生命周期函数--监听页面加载
  26. */
  27. onLoad(options) {
  28. wx.onThemeChange((result) => {
  29. this.setData({
  30. theme: result.theme
  31. })
  32. })
  33. },

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜