前言

2021年4月13日后发布的小程序新版本,无法通过wx.getUserInfo与<button open-type="getUserInfo"/>获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息。

解决办法

1. 使用wx.getUserProfile更换wx.getUserInfo

官方示例

2. 本人因为小程序使用太多wx.getUserInfo,更换起来太麻烦了,所以我选择使用wx.getUserProfile重写wx.getUserInfo,让wx.getUserInfo既能拥有最新API的功能,还能兼容老的功能。

放到app.js最前面

if (wx.getUserProfile) {/*** isCache  是否用户授权第一次,就把用户信息放到缓存中,以后不用获取最新的,直接拿缓存*/let isCache = trueObject.defineProperty(wx, 'getUserInfo', {configurable: true,value: function (callback) {if (wx.authorizationInfo) {callback.success(wx.authorizationInfo)return;} else if (isCache) {let storageInfo = wx.getStorageSync('authorizationInfo')if (storageInfo) {wx.authorizationInfo = storageInfocallback.success(wx.authorizationInfo)return;}}let success = callback.successcallback.success = function (e) {wx.authorizationInfo = eif (isCache) {wx.setStorageSync('authorizationInfo', e)}success(e)}wx.getUserProfile({desc: '展示用户信息',...callback});}})
}

开发注意

  • 使用wx.getUserProfile不能在bindgetuserinfo事件下面

    <!-- 错误的方式 -->
    <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">授权</button><!-- 正确的方式 -->
    <button bindtap="getUserInfo">授权</button>
    
  • desc字段不能为空

    wx.getUserProfile({desc: '展示用户信息',    //不能为空success(e){}
    })

微信小程序getUserInfo无法获取用户信息相关推荐

  1. 微信小程序前端解密获取用户信息

    在微信小程序中,通过用户手动可以获取到用户昵称,头像等基本信息,稍微敏感的信息无法获取到,需要通过后端解密才能获取到. 例如获取用户手机: 在网上找到cryptojs包,下载下来复制到utils文件夹 ...

  2. 微信小程序开发之获取用户信息

    环境 微信开发者工具 Stable 1.06.2303220 云开发控制台 v1.5.47 用户的openid和头像名称信息 openid 是小程序用户的唯一标识.注意, openid 并不是微信用户 ...

  3. 微信小程序授权登录获取用户信息并保存至缓存用于下次登录

    1.获取用户信息 wx.getUserProfile(Object object) 获取用户信息.页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗 ...

  4. 微信小程序授权登录获取用户信息详解

    今天来说一下微信小程序的授权登录获取用户信息,首先我们看微信提供的小程序开发文档: https://blog.csdn.net/qq_41971087/article/details/82466647 ...

  5. [小程序]微信小程序登陆并获取用户信息

    1.小程序js端调用框架登陆API,获取到一个临时code,拿着这个code去调用自己的服务端接口 2.在自己的服务器端,使用app_id app_secrect code可以获取到用户的openid ...

  6. java对接微信小程序(登录获取用户信息)

    需求说明: 用户通过小程序登录,进入到平台系统,进行各功能操作: 解决方案: 首先通过对接小程序,用户通过小程序登录及授权获取用户信息,后端调用接口获取微信用户信息,进行保存到数据库,然后返回toke ...

  7. 微信小程序调整的获取用户信息API接口wx.getUserProfile

    对于微信小程序更新后的wx.getUserProfile怎么用?小程序怎么获取用户信息 getUserProfile接口文档:https://developers.weixin.qq.com/mini ...

  8. 微信小程序授权登录——获取用户信息

    小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 登录流程时序 效果展示: 功能实现: 新建一个login页面 login.js: wx. ...

  9. 微信小程序如何同时获取用户信息和用户手机号

    今天在写登陆页面的时候,由于需要的个人信息和手机号的授权,但是如果在页面上直接放2个按钮,岂不是很呆??? 索性就写了一个mask层,去引导用户授权手机号. 1. 当我点击快捷登录的 微信登录时,首先 ...

最新文章

  1. 利用perf排查sys高的问题
  2. 一些达成共识的JavaScript编码风格约定
  3. Linux下简单的系统调用
  4. AI应用开发实战系列之四 - 定制化视觉服务的使用
  5. docker公共存储库_Docker实战001:简单的认识下docker
  6. myeclipse下Tomcat java.lang.OutOfMemory Error: Java heap space
  7. Kali Linux 秘籍 第二章 定制 Kali Linux
  8. Android学习总结(5)——9个非常有用的Andorid 程序片段
  9. powershell编程_对Power BI PowerShell Commandlet的编程访问
  10. Android 3.0 SDK 最新官方下载
  11. Mac电脑:Flutter开发环境配置小白教程
  12. 手机android id修改密码,苹果手机怎么设置id账号和密码或重设密码
  13. 简历表格下载word格式 免费版​
  14. 【springmvc+mybatis项目实战】杰信商贸-29.购销合同技术难点分析
  15. oracle补丁冲突解决方法,【学习笔记】Oracle RAC升级安装patch补丁的问题和解决办法...
  16. 关于手机打开pdf文档乱码的解决办法
  17. 私域运营是不是就是社群运营?
  18. vue使用百度地图 图标自定义 之 本地图标显示问题
  19. 短信验证码和语音验证码
  20. 充电系列-1-msm8909充电驱动常见修改

热门文章

  1. python代码加密运行在win10_如何在Win10上正确安装Python,VSCode和flake8
  2. WRF官网案例运行01
  3. 第四部分、JEECG-BOOT 微服部署文档
  4. 开篇词 | 算法是程序的“灵魂”
  5. ai决策_人工智能时代的决策
  6. 【分享】北京社保查询API
  7. On Die Termination (ODT) DDR
  8. 微信小程序之 开发者工具下载及使用
  9. 关于matches()的使用
  10. Android 模拟器 计步器,春雨计步器怎样刷步数图文教程