微信小程序如何获取用户信息

自我介绍

我是IT果果日记,微信公众号请搜索 IT果果日记

一个普通的技术宅,定期分享技术文章,欢迎点赞、关注和转发,请多关照。

  • 微信小程序用户基本信息有哪些?

  • 除了基本信息,微信还会提供openId和unionId,它们有什么作用和区别?

  • 在获取用户信息的过程中,如何知道明文数据是否被篡改了?

  • session_key 该如何使用呢?

带着这些问题,我们开始今天的学习。

获取用户基本信息

小程序提供了一个 wx.getUserProfile(OBJECT) 方法来获取用户的信息。以前的老版本是用的 wx.getUserProfile(OBJECT) 方法,现在以及被官方不推荐使用了。

用户信息分为用户基本信息和用户openId、UnionId。基本信息是明文的,而openId和UnionId是加密数据。这两种类型的数据都由wx.getUserProfile(OBJECT)方法返回。

用户基本信息包括以下7项:

  • avatarUrl 用户微信头像的URL地址。

  • city 城市。

  • country 国家。

  • gender 性别,1表示男,2表示女,0表示未知。

  • language 语言区域。

  • nickName 昵称。

  • province:省份。

在小程序中,用户的基本信息可以轻易获得,他们是明文的、不加密的。但 openId 和 UnionId 是加密的。什么是openId和UnionId呢?可以将openId和UnionId理解为用户在微信应用中的id号。

他们的区别是:

  • openId只代表用户在某个微信应用下的id号;

  • 而UnionId是跨应用的,同一用户在同一开发者的多个应用里,UnionId是唯一的。

官方文档对于UnionId的描述非常清楚:如果开发者拥有多个移动应用、网站应用和公众账号(包括小程序),可通过UnionId区分用户的唯一性,因为只要是同一个微信开放平台账号下的移动应用、网站应用和公众账号(包括小程序),用户的UnionId就是唯一的。换句话说,同一用户在同一个微信开放平台下的不同应用中,UnionId是相同的。

所以,openId不能跨应用,如果要在多应用间统一用户身份,请使用UnionId。这里要注意,在小程序中使用UnionId首先需要前往微信开放平台绑定小程序。请参考官方文档:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html

微信开放平台绑定小程序流程

登录

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/fbddc1c80c.html