当前位置: 首页 > news >正文

小程序button引导用户授权

wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用
<button open-type="getUserInfo"></button>
引导用户主动进行授权操作
当用户未授权过,调用该接口将直接报错 当用户授权过,可以使用该接口获取用户信息

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


1.index.wxml

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

2.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 {
      //用户按了拒绝按钮
    }
  }
})

注:如果未出现微信授权的弹窗,则可能是因为之前授权的缓存导致的,因为只有未授权才会出现弹窗,清除缓存即可
参考:https://blog.csdn.net/weixin_...
https://blog.csdn.net/weidong...
https://www.cnblogs.com/legen...

相关文章:

  • 初识云计算的三种服务模式 (IaaS SaaS PaaS)
  • 大数据hadoop领域技术总体介绍(各个组件的作用)
  • 使用git时候,屏蔽gitignore自身
  • 【VMCloud云平台】拥抱Docker(四)定制属于自已的镜像
  • vue ----自定义指令Vue.directive(),实现拖拽
  • Scalaz(14)- Monad:函数组合-Kleisli to Reader
  • 微软以白金会员加入 OpenChain 开源组织
  • 数学公式
  • 彻底搞懂浏览器Event-loop
  • jQuery插件 -- Cookie插件jquery.cookie.js(转)
  • Hbulider MUI
  • 快速有效的增加App真实评论的简单方法!
  • Spring Cloud 入门教程5、服务容错监控:Hystrix Dashboard
  • rabbitmq单机多实例集群搭建
  • j2EE监听器-listener
  • $translatePartialLoader加载失败及解决方式
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • Babel配置的不完全指南
  • CentOS 7 防火墙操作
  • Consul Config 使用Git做版本控制的实现
  • co模块的前端实现
  • create-react-app做的留言板
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Javascript基础之Array数组API
  • Map集合、散列表、红黑树介绍
  • MD5加密原理解析及OC版原理实现
  • nginx 负载服务器优化
  • SpingCloudBus整合RabbitMQ
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue脚手架vue-cli
  • 官方解决所有 npm 全局安装权限问题
  • 回顾 Swift 多平台移植进度 #2
  • 跨域
  • 聊聊sentinel的DegradeSlot
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 译自由幺半群
  • 在Mac OS X上安装 Ruby运行环境
  • 主流的CSS水平和垂直居中技术大全
  • elasticsearch-head插件安装
  • 如何用纯 CSS 创作一个货车 loader
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (1)常见O(n^2)排序算法解析
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (8)STL算法之替换
  • (day 12)JavaScript学习笔记(数组3)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (六)激光线扫描-三维重建
  • (论文阅读11/100)Fast R-CNN
  • (十)c52学习之旅-定时器实验
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)