微信小程序授权 获取用户信息

微信小程序授权 获取用户信息小程序在 18 年 4 月 25 日做了一次更新 不再支持直接弹出授权信息框具体代码请看这里 gt gt 获取用户信息 用户信息 获取 unionId openId 请移步到这里用户打开小程序时 直接弹框获取用户信息授权 可能会立马懵圈 你是谁 我在哪里 我为什么要同意 相当一部分用户下意识会拒绝授权 这样不合理的登录流程既造成

小程序在18年4月25日做了一次更新,不再支持直接弹出授权信息框

微信小程序授权 获取用户信息

具体代码请看这里:  >>       获取用户信息(用户信息、获取unionId、openId)请移步到这里

 

微信小程序授权 获取用户信息

用户打开小程序时,直接弹框获取用户信息授权,可能会立马懵圈:

 

你是谁?

我在哪里?

我为什么要同意?……

 

 

相当一部分用户下意识会拒绝授权——这样不合理的登录流程既造成了用户的困扰,还流失了用户。

 

用户通过小程序可以快速获取服务,因此在访问小程序的第一个页面非常重要

 

小程序和小游戏内的用户登录,我们推荐使用以下两种方式获取用户信息:

 

▷ 按钮组件的登录方式,用户主动点击按钮可以拉起用户授权弹框,获取用户头像、昵称等信息;

 

▷ 在不获取用户信息的情况下,可展示用户头像昵称

 

也提醒大家:

 

用户在没有任何操作的情况直接弹出授权的登录方式将逐渐不再支持,受影响的有 wx.getUserInfo 接口,以及 wx.authorize 接口传入 scope=”scope.userInfo” 的情况。

 

为什么平台要做接口调整?

 

小程序提供wx.login 和 wx.getUserInfo 接口,用于获取用户的 openID 和基本信息

 

推出这两个接口的初衷是希望:

 

当用户使用小程序时,只有访问到真正需要登录的页面,才需要授权并登录。

 

对于一个互联网产品而言,第一个页面决定了用户对这个产品的认知,用户会选择是否继续使用这个产品。

 

一个优秀的互联网产品,能够给用户留下一个好的第一印象,用户可以快速了解你的产品,接收到你想要传递的服务信息,从而产生相应的操作行为。

 

一个优秀的小程序会吸引用户在小程序里进行探索,完成你期望他们去做的事,比如会员注册、商品购买等。

 

试想一下如果一个品牌的商品官网,一进入要求用户登录才能查看产品信息是什么感觉呢?

 

因此良好的用户登录体验非常重要。

 

 

如何设计登录流程?

 

用户打开小程序时,看第一眼的时候,开发者需要专注以下两个目标:

 

▷ 精准快速地传达产品理念,开发者要让用户能够快速了解自己的产品和服务;

 

▷ 将用户流量进行转化,让用户能方便操作或者交易。

 

一般而言,用户打开小程序后看到的第一个页面,先不要直接弹出授权框,第一个页面可以包含以下内容:

 

▷ 展示你的小程序功能(如产品、服务、活动等) ,让用户清晰地知道小程序是做什么用的,这些内容可以是你的精选内容;

 

▷ 激发用户的探索欲,通过描述或者图片吸引用户注意力;

 

▷ 按照自己的产品目标,给用户提供清晰明确的下一步操作(查看详情、购买等)。

 

如果某些特殊小程序在使用前一定需要用户登录,或者已经进行到需要用户登录的操作时,可以将 button 组件(其中 open-type 属性指定为 getUserInfo)放置到页面中,页面上可以大致说明以下要点:

 

为什么需要我授权?

需要我什么信息?

授权后我得到什么好处呢?

 

接下来在页面上放置一个明显的登录按钮, 建议这个页面上不要有额外的点击区域,以免分散用户注意力,让用户专注于登录这件事情。

 

简单的开发建议

1

当用户打开小程序时访问第一个页面时,先通过 wx.login,获取用户 openID 。这时无需弹框授权,开发者拿到 openID 可以建立自身的帐号 ID。

2

在第一步中,拿到 openID 后,判断是新用户还是老用户。如果是老用户,可以直接登录;如果是新用户,可先在小程序首页展示你的信息服务,让用户对这个小程序有大概的了解,再引导用户进行下一步的操作。

3

当需要获取用户头像昵称的时候,对用户展示一个登录页面,这个页面只有一个最重要的操作,引导用户进行登录。

 

小程序中,在页面中加入一个 button 按钮,并将 open-type 属性设置为 getUserInfo 。

 

以小程序为例:

 

 

对于功能较简单的小程序或者小游戏而言,如果不是必须要获得用户的头像昵称,建议可先通过wx.login 拿到 openID 后,使用 open-data 方式或者开放数据域的方式展示用户信息,整个过程都无需用户授权。

 

Tips:

 

1、在用户登录后,开发者需要存储用户的 unionID,而且建议只把 unionID 作为互通的用户标识,不要直接使用 unionID 作为用户 ID。因为一旦小程序迁移到其他的开放平台下,unionID 是会改变的,而 openID 是不变的。

 

2、用 button 组件的方式获得用户授权后,调用 wx.getUserInfo 就可以直接获取用户信息。这个的意义在于获取过一次之后,用户有可能改昵称头像,因此为了及时同步,最好是定期获取用户信息。

 

这里两个小提示:

 

▷ 定期使用 wx.getUserInfo 获取并更新用户的信息;

 

 如果用户授权过一次之后,又在设置中关掉了授权(或者本地删除了小程序),那这时再调用 wx.getUserInfo 也是不会成功的,需要重新获得授权

 

相关开发文档参考:

 

▷ 小程序

1、小程序wx.login

2、button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息

3、open-data 展示用户基本信息

 

▷ 小游戏

1、小游戏wx.login

2、用户信息按钮 UserInfoButton

3、开放数据域下的展示用户信息

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212802.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午7:14
下一篇 2026年3月18日 下午7:14


相关推荐

  • java json字符串转list集合

    java json字符串转list集合StringjsonString=”[{“plateNumber”:”1″,”holeNumber”:”A02″,”qcType”:”L”,”value”:”2.36″}”,{“plateNumber”:”1″,”holeNumber”:”A03″,”qcType”:”M”,”value”:”5.36″}]List<QcPlate>listQcPlate=newArr…

    2022年5月14日
    44
  • I2C接口与SPI和UART接口的区别「建议收藏」

    I2C接口与SPI和UART接口的区别「建议收藏」一、SPII2CUART通信速率比较:SPI>I2C>UART1、同步通信>异步通信;2、同步通信时必须有一根时钟线连接传输的两端;3、都是串行通信方式,并行通信用于内部存储间的通信,如flash;4、适合传输的距离和通信速率成反比关系;3-SPI:两条合一的数据线、1时钟线、1CS(设备片选线)SPI:2数据线、1时钟线、1CS(设备片选线)/串行同步通信全双工I2C:1数据线、1时钟线/串行同步通信半双工传输距离比UART短UART:2数据.

    2025年11月17日
    8
  • initramfs学习「建议收藏」

    initramfs学习「建议收藏」(一)helloworld一、initramfs是什么在2.6版本的linux内核中,都包含一个压缩过的cpio格式的打包文件。当内核启动时,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行它,作为PID为1的第一个进程。这个init进程负责启动系统后续的工作,包括定位、挂载“真正的”根文件系统设备(如果有的话)。

    2022年8月11日
    15
  • 正在接入或无法接入认证服务器(服务器未运行怎么解决)

    迷你版云服务器未启动内容精选换一换企业主机安全(HostSecurityService,HSS)是提升服务器整体安全性的服务,通过主机管理、风险防御、入侵检测、安全运营、网页防篡改功能,可全面识别并管理云服务器中的信息资产,实时监测云服务器中的风险,降低服务器被入侵的风险。使用主机安全需要在云服务器中安装Agent。安装Agent后,您的云服务器将受到HSS云端防护中企业主机安全(Host…

    2022年4月17日
    61
  • java对象转换为json字符串_java中将字符串转换为json

    java对象转换为json字符串_java中将字符串转换为json概要Jackson是基于java平台的json处理框架。Jackson提供了三种可选的json处理方法:流式API、树模型、数据绑定(dataBinding),其中数据绑定是最常用的处理方式;本文主要介绍数据绑定的处理方式。java对象与json字符串互相转换java对象与json字符串互相转换的关键就是ObjectMapper对象的writeValue()方法和readValue()方法;其中json字符串可以字符串的形式传入/传出,也可以以文件的形式传入/传出,见wri.

    2025年11月30日
    11
  • 程序员工资统计_中国程序员工资

    程序员工资统计_中国程序员工资此调查,是对北京、上海、广东和浙江等全国29个省、直辖市及特别行政区的26W+优秀程序员进行了一次详细的调查,形成本报告。根据中国互联网络信息中心(CNNIC)近日发布第43次《中国互联网络发展状况统计报告》。截至2018年12月,中国网民规模为8.29亿,全年新增网民5653万。网上外卖用户规模达4.06亿,同比增长18.2%;网络视频用户规模达6.1…

    2022年10月11日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号