irpas技术客

微信小程序2022最新用户信息授权设置_最强的森_微信 gender

大大的周 6979

微信小程序2022最新用户信息授权设置

微信小程序中 用户信息授权 一直是一个非常重要的功能,它有着提升用户体验、进行用户身份认证、便于开发者进行数据分析等作用。 —— 但是用户授权功能涉及到用户隐私,所以微信开发者团队针对此功能进行了许多次修改。最近的一次修改将在 2022年10月26日24时 后开始强制生效。 —— 在开发uniapp做到用户信息授权进行查阅文档时有了以上发现,所以摘录一部分分享给大家。 详细请看文章 uniapp开发微信小程序-5.用户授权登录和用户信息获取https://blog.csdn.net/m0_51592186/article/details/125063718?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125063718%22%2C%22source%22%3A%22m0_51592186%22%7D&ctrtid=QHqBV

1.关于获取用户信息

通过微信小程序获取到的用户信息包括:昵称(nickName)、性别(gender)、语言(language)、国家(country)、省市(province)、城市(city)、头像(avatarUrl)。 在许多日常点餐、购物等小程序中,我们经常可以看到是否同意授权手机号******的提示,而当我们在小程序基本配置接口时并不能查询到手机号的获取方法。实际上手机号的应用场景基本上是在进行支付时才可以获取,是被用作支付凭证时使用(涉及商户号等支付操作),所以为了保护用户隐私, 手机号并不在用户信息中进行获取 。

手机信息需要用户另行授权,授权接口为getPhoneNumber,调用过程与用户信息注册相似,通过button调用,在服务器后台验证调取。 html:

<button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取用户手机号</button>

js:

getPhoneNumber(val) { uni.request({ url: '后台接口地址', header: { 'content-type': 'application/x-www-form-urlencoded' }, method: 'POST', data: { code: val.detail.code }, // 注册 success: (res) => { this.phone = res.data.phone_info.phoneNumber // 执行下一步操作 this.next() } }); },

后台请求地址:

POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN

凑齐access_token,将前端js传入的code随请求地址传值调用,即可获取手机号。 PHP后端请求示例:

// 获取手机号 public function get_phone() { $data = request() -> param(); // return $data; $res = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?appid=APPID&secret=SECRET&grant_type=client_credential"); // return $res; $res1 = json_decode($res, true); // dump($res1);die; $url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=".$res1['access_token']; $options = array( 'http' => array( 'method' => 'POST', 'header' => "Content-type: application/json", 'content' => json_encode($data), ), ); $result = file_get_contents($url, false, stream_context_create($options)); return $result; } 2.关于用户信息接口的调整

在我们浏览微信官方文档时,可以发现用户信息接口有两个,分别是 wx.getUserInfo 和 wx.getUserProfile 。其中第三个 UserInfo 是一个数据类型(也就是通过以上两个接口获取到的结果对象) 。 用户信息的获取过程又分为两方面,一方面是 获取到用户信息的调整 ,另一方面是 获取用户信息方法接口的调整 。 获取到用户信息的调整 中最新信息就是性别、地址、语言等全部不给开发者(商家)进行提供。 而 获取用户信息方法接口的调整 就是从一开始的 wx.getUserInfo 调整到 wx.getUserProfile ,而在今年(2022年)10月25日24时之后 wx.getUserProfile 也将停止使用。 wx.getUserInfo 接口可以直接获取到用户信息的返回数据,并让我们自由处理。 wx.getUserProfile 修复了 wx.getUserInfo 接口中直接获取用户信息的缺陷,需要经过用户同意后才可以获取到用户的信息 userInfo ,同样我们可以将其进行自由处理。 而在最新的调整说明中,开发者为了获取到用户信息,将小程序设定成了 用户不授权的情况下就不可以正常访问小程序的某些页面 的逻辑,这基本上与微信开发团队 增强用户体验 的目标产生极大冲突与矛盾。所以干脆将 wx.getUserProfile 这个接口也停止使用。

以上总结下来有两点: 1.我们将无法获取除用户唯一标识(openid、unionid)以外任何信息。 2.我们将只可以使用 在页面直接展示 这个功能(用于用户例如”我的“等页面的体验提升),该功能实际上是由用户自行上传头像和昵称的过程。

有好有坏,虽然不能收集到用户信息了,但是既保护了用户隐私,也省去了我们某些开发过程。同时用户也可以自愿进行身份信息的上传,从而保证自己的隐私不会被侵犯。

详细请看文章 uniapp开发微信小程序-5.用户授权登录和用户信息获取https://blog.csdn.net/m0_51592186/article/details/125063718?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125063718%22%2C%22source%22%3A%22m0_51592186%22%7D&ctrtid=QHqBV

更多设计、功能的学习经验,大家也可以去我的公众号查看!

————


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #微信 #gender #最近的一次修改将在 #2022年10月26日24时 #后开始强制生效