使用button的open-type="getUserInfo"来引导用户进行信息授权

DurkBlue2个月前 ( 07-29 )66抢沙发
使用button的open-type="getUserInfo"来引导用户进行信息授权摘要: 一、 前言小程序官方文档,上面说明wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用<button open-t...

一、 前言
小程序官方文档,上面说明

wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用

<button open-type="getUserInfo"></button>1

引导用户主动进行授权操作
当用户未授权过,调用该接口将直接报错 当用户授权过,可以使用该接口获取用户信息

如上文,之前用户未授权过时,调用wx.getUserInfo会调出授权框;但现在在用户未授权过时调用该接口,会直接走fail方法。

所以我们要使用上述button来请求用户授权。

二、主体
以index页面作为展示授权按钮的页面,并且在app.json中将index作为首页。在判断用户授权之后跳转到其他页面。

index.wxml

<button 
wx:if="{{canIUse}}"
open-type="getUserInfo"
bindgetuserinfo="bindGetUserInfo">授权登录</button><view wx:else>请升级微信版本</view>123456

index.js

Page({
 data: {
//判断小程序的API,回调,参数,组件等是否在当前版本可用。
   canIUse: wx.canIUse('button.open-type.getUserInfo')
 },
 onLoad: function() {
   // 查看是否授权
   wx.getSetting({
     success: function(res){
       if (res.authSetting['scope.userInfo']) {
         wx.getUserInfo({
           success: function(res) {
             console.log(res.userInfo)
             //用户已经授权过
           }
         })
       }
     }
   })
 },
 bindGetUserInfo: function(e) {
   console.log(e.detail.userInfo)
   if (e.detail.userInfo){
     //用户按了允许授权按钮
   } else {
     //用户按了拒绝按钮
   }
 }})--------------------- *tips:授权之后要跳转到的页面若为 tabBar中的页面 ,则不可以用wx.navigateTo和wx.redirecTo,而应该用wx.switchTab或wx.reLaunch。


此篇文章由DurkBlue发布,感谢转载需要请注明来处

分享到:
0
赞(0

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

支付宝扫一扫打赏

微信扫一扫打赏

发表评论取消回复

快捷回复:

评论列表 (暂无评论,66人围观)参与讨论