根据官方微信小程序开发关于登录授权API的调整,自 2022年10月25日起有关API接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。(如下图所示)

那我们如何解决?

效果图:

登录授权页面

wxml代码如下:

<button>标签中将open-type="chooseAvatar"是用来设置用户头像,并且获得一个临时路径。

<button class="avatar" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar" style="width: 250rpx;height: 200rpx;"><image class="avatar" src="{{avatarUrl}}" ></image></button><input bindinput="inputValue" placeholder="请输入昵称" style="width: 200rpx;height: 100rpx; margin:20rpx auto;"/><button bindtap="submit" style="background-color: aquamarine;">授权登录</button>

js代码如下:

js代码主要包括三个事件(头像临时路径)、昵称、获取授权并变灰色头像和“微信用户”。

// pages/show/show.js
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
const app=getApp()
Page({/*** 页面的初始数据*/data: {avatarUrl: defaultAvatarUrl,//头像临时路径,默认是defaultAvatarUrl的灰色头像},/*** 获取头像的临时路径   */onChooseAvatar(e) {const { avatarUrl } = e.detail //e.detail是从前端传过来的所选头像的临时路径this.setData({         avatarUrl,        //将所选头像临时路径赋值给avatarUrl})},/***获取文本框所输入的昵称信息*/inputValue(e){console.log(e)this.setData({inputNickname:e.detail.value})},/***授权登录,将API调整后返回的nickName和avatarUrl改成我们自定义选择的头像和昵称*/submit(e){var that=thiswx.getUserProfile({ //获取登录授权的APIdesc: '获取用户必要信息',success(res){app.globalData.userInfo=res.userInfo //将API返回的信息赋值给全局变量userInfoapp.globalData.userInfo.nickName=that.data.inputNickname //更改全局变量中的userinfo中的昵称app.globalData.userInfo.avatarUrl=that.data.avatarUrl //更改头像临时路径console.log(app.globalData.userInfo)wx.setStorageSync('userInfo', res.userInfo) //将信息本地储存,方便下次不用再次授权登录wx.showToast({title: '授权成功!',success(){wx.navigateTo({url: '/pages/info/info',//登录成功返回到主页})}})}})}
})

主页展示页面

wxml代码:

<view style="width: 100%;height: 400rpx;background-color: aquamarine;display: flex;flex-direction: column;justify-content: center;"><image src="{{userInfo.avatarUrl}}" style="width: 250rpx;height: 250rpx;border-radius: 50% 50%;overflow: hidden;margin: auto;"></image><view style="margin: auto;">{{userInfo.nickName}}</view>
</view>

js代码:

此处引用全局变量中的userInfo中的信息,此变量是我们在授权时所赋值的。

const app=getApp()
Page({data: {userInfo:app.globalData.userInfo,},
)}

最新版微信小程序授权登录(自定义头像昵称)相关推荐

  1. 新版微信小程序授权登录流程及问题汇总(getUserProfile)

    问题来源:前不久去面试的时候有面试官问我你有自己的博客啥的吗?只能很尴尬的说没有.其实一直想有一个属于自己的博客啥的去记录自己在开发过程中遇到的问题,正好现在微信小程序比较流行,就花了两天自己搞了一个 ...

  2. 微信小程序实现登录获取头像昵称

    微信小程序如何来获取用户头像昵称 大家一定对下面这个图不陌生吧,我们在进入小程序之前,都会遇见类似这样的情况,那么这个是怎么用微信开发者工具实现的呢? 要求 1.首先,我们打开微信开发者工具,新建一个 ...

  3. SpringBoot微信小程序授权登录

    SpringBoot微信小程序授权登录 一.appId 1.1.自己是管理者:微信公众平台,申请或登录自己的微信小程序,在开发者管理中即可看到 2.2.自己是开发者:让管理员将自己加入到小程序开发者管 ...

  4. 微信小程序授权登录页面(有提示窗)

    微信小程序授权登录(有弹窗提示) 1 效果显示 1.1 授权登录页面 1.2 授权登录提示弹窗 1.3 拒绝授权登录 1.4 允许登录后,跳转到小程序首页 2 代码 2.1 wxml 文件 <v ...

  5. 微信小程序授权登录+获取手机号

    微信小程序授权登录+获取手机号 一.官方文档背景: 小程序登录的链接: 微信小程序获取手机号的链接: 二.微信小程序授权登录+获取手机号 1.简单说明官方文档的操作:先授权登录后拿手机号 2.前端代码 ...

  6. 微信小程序授权登录 组件的封装

    微信小程序授权登录 组件的封装 新建components文件 写wxml文件 wxss部分 js部分 json引用 页面使用 页面js 授权登录 流程如下: 因为多个页面功能需要登录状态 所以做了个组 ...

  7. uniapp微信小程序授权登录和获取微信绑定的手机号码

    uniapp微信小程序授权登录和获取微信绑定的手机号码 弹出授权的弹框 <view class="weixinOk" @tap="getUserProfile&qu ...

  8. 微信小程序授权登录取消授权重新授权处理方法 附可用代码

    微信小程序授权登录基本是小程序的标配了,但是官方的demo,取消授权后,就不能再重新点击登录,除非重新加载小程序才可以,这下怎么办? 我们可以先在首页引导用户点击,然后跳转到一个新的页面,在新的页面进 ...

  9. SpringCloud 微信小程序授权登录 获取openId SessionKey【SpringCloud系列13】

    SpringCloud 大型系列课程正在制作中,欢迎大家关注与提意见. 自我提升方法推荐:神奇的早起 早上 5:00 -5:20 起床刷牙 5:30-6:00 晨练(跑步.跳绳.骑自行车.打球等等) ...

最新文章

  1. CSAPP:第三章程序的机器级表示1
  2. 如何写出让同事好维护的代码?
  3. 安卓Queue的使用
  4. mysql 远程连接取消权限_MYSQL远程登录权限设置
  5. 使用Spring StateMachine框架实现状态机
  6. Fedora音视频解码的配置
  7. 《深入理解计算机网络》读后小记 8、IP地址和子网
  8. 双系统Linux(centos\redhat)和window的安装
  9. 关于jsp跳转到servlet显示 “Served at: /JavaWebPractice”或空白页的问题
  10. App获取android分辨率,设计手机app界面时,常用的分辨率是多少
  11. Skyscrapers (easy version)
  12. 如何快速解决 Mybatis 异常:Invalid bound statement (not found)
  13. 2019 Q1数字钱包行业报告 | TokenInsight
  14. 创建新Docker容器时出现“The container name /xxx is already in use by container xxxxxxxxxxx...”问题的解决办法
  15. 帝国CMS模板组创建和管理,让网站完成迅速”变脸“
  16. 体育生学编程——html学习
  17. promise是什么/怎么用
  18. 过来人告诉你,去工作前最好还是学学Git
  19. FOC之park变换推导笔记
  20. 三阶魔方c语言算法最高效率算法,3阶魔方阵的算法

热门文章

  1. 怎样增加混凝土粘聚性_混凝土拌合物的粘聚性较差时,常用的改善措施是
  2. 【代码】PS2摇杆控制oled上点的移动(基于arduino uno)
  3. 上线仅两月的免费游戏Auto Club Revolution ARPPU达24美元
  4. Apache IoTDB 相关论文《乱序时间序列数据的写入管理》入选国际数据库顶级会议 ICDE 2022
  5. linux 视频采集软件,视频采集、截图多媒体处理工具FFmpeg
  6. python 打乱文本
  7. 使用Astah制作UML时序图
  8. IE调试网页之六:使用 F12 开发人员工具调试 HTML 和 CSS (Windows)
  9. GitHub 上一个叫《人生重开模拟器》的开源游戏火了!3天2亿流量,让你提前看遍人生无常...
  10. PDO 基本使用(简)