记录–微信小程序获取用户信息的最新方法记录

  • 记录–微信小程序获取用户信息的最新方法记录已关闭评论
  • 88 次浏览
  • A+
所属分类:Web前端
摘要

头像展示 灰色头像用户昵称展示“微信用户”用户性别、地区、语言展示为为空(“”)


这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

记录--微信小程序获取用户信息的最新方法记录

微信小程序获取用户信息的几种方式

以下三种方式都无法获取到用户的openID

1. 开放组件获取用户信息<open-data></open-data>该功能已无效

  • 该组件的type属性根据不同的属性值可以展示用户不同的信息
  • 该方式不需要授权,因为该方式值能获取到当前登录用户自己的基础信息
  • 但是该方法获取的用户信息只能展示,不可以通过js方法获取到
  • 组件功能调整 开发者在未获取用户明示同意的情况下通过 组件 在小程序中展示用户个人信息,用户容易误以为自己的个人信息在未授权的情况下,被小程序获取。平台计划从2022年2月21日24时起回收通过展示个人信息的能力,若小程序需收集用户昵称头像等信息,可以通过 头像昵称填写功能 功能进行收集。具体回收方式为:

头像展示 灰色头像

用户昵称展示“微信用户”

用户性别、地区、语言展示为为空(“”)

<open-data type="userAvatarUrl">用户头像</open-data> <open-data type="userNickName">用户昵称</open-data> <open-data type="userCountry">用户国家</open-data> <open-data type="userCity">用户城市</open-data>

2. wx.getUserInfo({})方法

  • 该api只有已经授权过的用户才会被获取到信息,没有授权过的话调用是没用用的
wx.getUserInfo({     success: (res)=>{         console.log(res)     } })

3. 配置open-type属性

  • 该方法可以弹出授权框,授权后可使用上面第二种方法获取用户信息

使用bindgetuserinfo属性绑定事件,该事件出发后有一个event参数,

<button open-type="getUserInfo"         bindgetuserinfo="onGetuserinfo">     获取用户信息 </button>  onGetuserinfo(event){ //     console.log(event) },

想要获取到用户的openID有两种方法

1. 传统的小程序开发

1.  调用wx.login方法成功后获取到code 2.  使用wx.request发起网络请求将code传递给后端服务器 3.  后端会使用code换取到openid和session_key后再返回给前端

onLoad: function(options) {     wx.login({       success: function(res) {         if (res.code) { //如果调用wx.login后获取到code           //发起网络请求           wx.request({             url: '后端接口',             data: {               code: res.code             },             success: function(res) {               const self = this               if (逻辑成功) {                 //获取到用户凭证 存儲 3rd_session                  var json = JSON.parse(res.data.Data)                 wx.setStorage({                   key: "third_Session",                   data: json.third_Session                 })                 getUserInfo()               } else {                 }             },             fail: function(res) {               }           })         }       },       fail: function(res) {         }     }) }

2. 小程序云开发

创建微信小程序云开发项目后,云函数中会自带一个login云函数,该云函数中已经有获取用户openid的方法,调用该云函数后会返回当前小程序的appid和openid

wx.cloud.callFunction({     name: 'login' }).then((res)=>{     console.log(res) })

https://www.niwoxuexi.com/blog/wechat/article/1938

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 记录--微信小程序获取用户信息的最新方法记录