微信小程序获取当前用户信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序获取当前用户信息相关的知识,希望对你有一定的参考价值。

参考技术A 一个很常用的功能,但是我还是发现有一些需要注意的地方在里面,简单记录一下。

第一个问题就是这个 button 组件需要添加 open-type 属性,并指定为 getUserInfo 类型,来获取用户基本信息。还有另外一种做法,具体可以参考 官方文档的说明 。

放一个动图哈哈哈

js 部分就是响应点击事件,使用 api wx.getUserInfo(Object object)
获取用户信息,注意传递给 wx.getUserInfo 的是一个字典其中包含了两个函数分别作为成功和失败的回调函数(callback function)

注意 this 的指代对象发生了变化,最开始的this是指代 Page() 构造出来的对象,在函数里面使用 this 会说未指定,所以我们使用了 that 承接一下,这也算传统艺能咯。

另外一点:获取用户信息时会自动弹出一个对话框问用户是否提供信息,这个弹窗只弹出一次,如果用户点击了拒绝后来又想改为允许,可以使用 wx.openSetting()

除了可以获取用户的昵称之外还有很多信息可以得到,还有一个比较常用的就是用户头像了也就是 res.userInfoavatarUrl 。

微信小程序获取用户信息接口

前些天微信小程序修改了获取用户的接口,之前是启动小程序之后如果调用wx.getUserInfo会弹出对话框询问是否允许授权获取用户信息的接口,允许授权之后就可以获取到用户信息。

但是小程序改过登录之后,如果调用这个接口,它只会检查你之前是否已经授权获取用户信息,如果没有,就会走进fail的函数,默认导致获取用户信息失败,而不会弹出对话框询问。如果检测到了之前的授权,可以获取到用户信息。

 

目前只影响体验版、开发版的小程序,不影响线上版本,但是只是目前。小程序社区说会逐步回收线上版本的wx.getUserInfo的接口授权。

按照微信的说法,是为了收缩获取用户信息的方法,只通过点击button按钮来让用户在有需要使用用户信息的时候引导用户主动授权。

使用button获取用户信息的方法参考https://developers.weixin.qq.com/miniprogram/dev/component/button.html

<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>

给button的
open-type设置为getUserInfo,点击调用onGotUserInfo函数,就会弹出询问是否允许授权,如果允许,返回的数据中就会包含用户信息,并且将允许获取用户信息的授权进行缓存记录。在这之后可以直接使用wx.getUserInfo来获取用户信息了,因为它能找到允许获取的授权缓存。

 

以上是关于微信小程序获取当前用户信息的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序如何获取当前行号

微信小程序-获取当前位置和城市名

微信小程序可以获取用户信息都有哪些

关于微信小程序获取当前位置信息

IVX低代码平台——微信小程序获取用户信息

微信小程序获取用户信息