E企盈小程序营销工具技术服务商 热线:4006-838-530

微信进不去,微信小程序登录弹框问题

E企盈小程序直播系统

1.getUserInfo相信刚接触微信小程序开发的人都在想官方给出的这个是什么意思我来解释一下吧还记得我们在最开始使用微信小程序的时候吗?第一次进一个微信小程序的时候会直接弹出来个框询问我们是否允许哟用户获取信息,微信官方觉得这样不好,一上来就让客户点击一个不明所以的允许,很多客户都会不点,用户体验度很差,所以呢,我们的微信官方,将不再允许直接弹框,而是进入你的小程序后,你可以在首页或者我的里面设置一个`button`组件当客户点击了这个组件我们就可以使用wx.getUserInfo这个API来获得用户的数据,而这些事情在我们创建小程序时,微信官方已经帮我们创建好了,就是下面这张图程序解读:如果(我们的非hasUserInfo并且CanIUser)那么设置一个button组件open-type属性为getUserInfo,并且绑定一个点击事件,否则(我们已经获得了用户信息)就显示用户的头像和昵称hasUserInfo是我们设置的一个变量,默认为false,canIUser也是我们设置的一个变量,默认为wx.canIUser(‘button.open-type.getUserInfo’)wx.canIUser(“组件.属性.选择”)是这个API的用法,判断这个组件的属性的选择是否在当前版本可以用,2.当我们点击这个获取用户信息button时:我们的getUserInfo函数的参数e就变为下面这个json对象(其实e就是我们button组件)首先我们将app.js里的globalData的userInfo变量设置为button.detail.userInfo是一个json对象,方便我们在其他页面想使用用户信息用globalData即可然后把本页面的js里的data里的userInfo也改为用户信息json对象然后把hasUserInfo置位true,这个是true了那我们的首页面就变成图片喽,官方的意思是,如果我们没有经过用户授权,即点击button按钮,是不能使用wx.getUserInfo这个API的,如果使用会直接失败.3.怎么判断用户是否授权如果getSetting返回的res.authSetting[‘scope.userInfo’]为true那么就是已经授权为什么呢因为open-type是个神奇的属性,当我们的用户点击时就能向微信服务器发一个消息,证明授权了.授权了就可以用wx.getUserInfo了wx.getSetting({success:res={if(res.authSetting[‘scope.userInfo’]){//已经授权,可以直接调用getUserInfo获取头像昵称,不会弹框wx.getUserInfo({success:res={//可以将res发送给后台解码出unionIdthis.globalData.userInfo=res.userInfo//由于getUserInfo是网络请求,可能会在Page.onLoad之后才返回//所以此处加入callback以防止这种情况if(this.userInfoReadyCallback){this.userInfoReadyCallback(res)}}})}}})我们在点击button组件的时候就会把信息存好,但是,为啥我们的app.js里还要用getSetting吗,因为我们一旦退出小程序,那么我们的的app.js或者index.js都会恢复,然后我们在进来的时候,已经授权了,所以我们可以直接取获取用户信息了.不得不说这个功能真的是让人头痛.绕了一大圈子

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信进不去,微信小程序登录弹框问题
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏