经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » JavaScript » 查看文章
微信小程序getUserProfile适配方案
来源:cnblogs  作者:Glrssn  时间:2021/4/12 9:52:54  对本文有异议

清明节放假前一天 群里突然炸锅,说小程序所有用的昵称全部变成了微信昵称

当时我就

1 (14).jpg

特么不是说好13号吗???

吓得我赶紧爬起来翻文档(需要代码直接往后翻)

wx.getUserProfile(Object object)

基础库 2.10.4 开始支持,低版本需做兼容处理。

获取用户信息。每次请求都会弹出授权窗口,用户同意后返回 userInfo。

getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 即wx.getUserInfo接口的返回参数不变,但开发者获取的userInfo为匿名信息。

image.png

image.png

为优化用户的使用体验,平台将进行以下调整:
2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取unionID
2021年4月13日后发布的小程序新版本,无法通过wx.getUserInfo与

原因就像微信所说的

很多开发者在打开小程序时就通过组件方式唤起getUserInfo弹窗,如果用户点击拒绝,无法使用小程序,这种做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户。

这里我会给出Uni-app的适配代码,各位同学举一反三(4.13号之前发布的正式包暂不影响)

html

  1. <button v-if="canUseGetUserProfile" hover-class="none" @tap="getUserProfile">微信登录</button>
  2. <button v-else hover-class="none" open-type="getUserInfo" @getuserinfo="setUserInfo">微信登录</button>

data

  1. canUseGetUserProfile: false

js

  1. onLoad() {
  2. //判断是否存在getUserProfile方法
  3. if (uni.getUserProfile) {
  4. this.setData({
  5. canUseGetUserProfile: true
  6. })
  7. }
  8. },
  9. //小程序授权api替换 getUserInfo 替换
  10. getUserProfile() {
  11. // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  12. // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
  13. uni.getUserProfile({
  14. desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
  15. success: (res) => {
  16. //业务逻辑
  17. }
  18. })
  19. },

这里要注意

desc为必填项,并且将来有可能会将信息提示在弹窗内,所以要谨慎填写;
getUserProfileAPI不是通过open-type 吊起 而是使用 @tap="getUserProfile"bindtap="getUserProfile" 调用的

且必须为直接调用,不能通过其他函数回调调用

否则会报getUserProfile:fail can only be invoked by user TAP gesture.错误

如果你要问我看法

就像微信开发文档里的评论一样 人事不干一点 那么多bug不修

image.png

有用的话麻烦点个赞啦 3Q

源码地址

原文链接:http://www.cnblogs.com/glrssn/p/14630640.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号