微信小程序getUserInfo解决方案

问题

在微信小程序开发中,获取用户信息是经常会用到的!在之前,我们直接调用wx.getUserInfo接口,就可以直接获取用户的信息,然而为了安全考虑,从2018年4月30号开始,wx.getUserInfo接口不能直接调用(接口调整),需要使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作,意外就是来的这么突然,防不胜防!!!

处理方法

1、<open-data></open-data> :只是简单的获取信息用于显示

  

  其中,type="userAvatarUrl"是获取用户头像,type="userNickName"是获取用户昵称,具体使用详情查看小程序开发文档 ,此方法仅用于直接简单的展示用户信息。

2、使用 <button open-type="getUserInfo">获取用户信息

    小程序官方文档有在说明wx.getUserInfo 当用户未授权过,调用该接口将直接报错,即使调用该接口将直接jinru进入fail的回调; 当用户授权过,可以使用该接口获取用户信息。

  但是,如何有更好的用户体验来引导用户手动调用此方法呢?这里思考了几种实现方案:

1、在项目首页直接调用getUserInfo方法,若从未授权过,跳转到授权页面引导用户手动授权

在授权页面authorize 写入按钮组件

并在js中,加入手动点击按钮的方法,返回首页

此方案可行,但是授权页面就一个授权的按钮未免显得突兀些,进一步做优化方案。

考虑到是不是能够直接通过条件渲染wx-if 在首页多加一部分遮罩层作为引导用户授权的页面展示,因为用户使用小程序一经授权以后,再次进入小程序就不用授权了,也就是说只有在用户第一次使用小程序的时候才会引导用户授权操作,所以这里考虑通过遮罩层来实现。

在首页多加一个遮罩层

同时查阅微信小程序开发文档 在页面加载后调用wx.getSetting方法可以获取当前用户的设置,返回值中只会出现小程序已经向用户请求过的权限,这样可以判断用户是否授权过权限

未授权授权遮罩层显示

                                           

引导用户授权后

hasUserInfo: true

遮罩层消失,完成授权。

微信修改getUSerInfo这个接口后确实不如之前直接进入小程序自动调用获取用户信息方便些,但是确实是为了加强安全性的考究,才通过按钮的方式让用户自己主动去授权,虽然对于开发者我们来讲不太习惯,但是对于加强了用户信息的安全性,网络信息安全确实是比较重要的一环。

原文地址:https://www.cnblogs.com/gourmet-zhang/p/9528860.html

时间: 2024-10-10 00:00:39

微信小程序getUserInfo解决方案的相关文章

使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)

第一步:使用charles进行https抓包 https://www.jianshu.com/p/7a88617ce80b   使用charles进行https抓包 使用Charles进行HTTPS抓包(包括安装信任证书以及抓包 出现无法抓包unknown和证书无效解决方案) 因为微信小程序都是https的请求,所以必须要能解析https,要解析https,就要证书 最近很多同行使用第一步所说的配置之后,发现获取的https响应数据依然是乱码.所以,请进行第二步设置. 第二步:Android 7

微信小程序云端解决方案探索之路

小程序刚推出的时候,很多人都觉得它就是 H5,因为开发小程序的三大语言和 HTML.CSS.JS 是一脉相承的,即使改变了扩展名也改不了其实质. 那么小程序的实质到底是不是 H5 呢?经过我们的论证分析,我们认为小程序并不是 H5 应用.主要原因如下: 在小程序里面无法使用 DOM 接口,所以 HTML5 生态中一切基于 DOM 的库都无法使用(如 jQuery) 小程序并非使用 URL 访问,所以没有域名的概念.这个特性有两个影响 不存在跨域问题,所以访问控制是直接在微信 MP 上配置域名白名

微信小程序学习指南

作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 微信小程序正式公测, 张小龙全面阐述小程序,定档1月9日上线(附90分钟演讲全文) ... 前言:新人第一坑,跳坑指南:修改后,必须保存:ctrl+S: 1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教

微信小程序开源项目库汇总

微信小程序开源项目库汇总,里面集合了OpenDigg 上的优质的微信小程序开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wemark ★85 - 微信小程序Markdown渲染库 WeZRender ★36 - 微信小程序Canvas增强组件 wet

微信小程序UI组件、开发框架、实用库

UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wemark ★85 - 微信小程序Markdown渲染库 WeZRender ★36 - 微信小程序Canvas增强组件 wetoast ★21 - 仿照微信小程序提供的showToast功能 wxapp-charts ★20 - 微信小程序图表charts组件 WeiXinProject ★18 - 列

马化腾IT领袖峰会力推,微信小程序即将迎来爆发拐点

3月25日,马化腾在2018中国(深圳)IT领袖峰会上发表了题为"数字中国的机遇与探索"的演讲.从"一纵"."一横"."一新"这三个角度解释了他对数字中国发展的理解. 马化腾认为,一纵就是技术和互联网.从互联网+或者+互联网,每个行业都在利用互联网信息技术进行改造和升级.新经济跟传统行业并不冲突,而是互补的,可以深度融合的:一横就是数字化从经济扩展到民生.政务等领域,横向发展到一定程度,就成为整个数字中国.比如交通.医疗.教育

微信小程序框架集合

UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wemark ★85 - 微信小程序Markdown渲染库 WeZRender ★36 - 微信小程序Canvas增强组件 wetoast ★21 - 仿照微信小程序提供的showToast功能 wxapp-charts ★20 - 微信小程序图表charts组件 WeiXinProject ★18 - 列

微信小程序腾讯云php后台解决方案

微信小程序腾讯云php后台解决方案 微信小程序前段需要添加必要的文件以配合后端 (1)wafer2-client-sdk sdk提供了几种接口包括登陆,获取用户openid,图片上传等 (2)config.js /** * 小程序配置文件 */ // 此处主机域名修改成腾讯云解决方案分配的域名 var host = 'https://vqp8djdy.qcloud.la'; var config = { // 下面的地址配合云端 Demo 工作 service: { host, // 登录地址,

微信小程序http连接访问解决方案

HTTP + 加密 + 认证 + 完整性保护 = HTTPS,小程序考虑到信息安全的问题,选用了更为稳定安全的https 来进行信息传递. HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全:另一种就是确认网站的真实性. 这就导致了许多好用的http  API无法在小程序中被调用. 但是也有解决方案. 1.中继访问 中继访问有两种方式,一种需要自己拥有一个云服务和域名. 拥有域名和云服务器 域名完成备案之后下载证书 https指引教程如下------> 腾讯云