前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【微信小程序开发】使用button标签的open-type="getUserInfo"引导用户去授权

【微信小程序开发】使用button标签的open-type="getUserInfo"引导用户去授权

作者头像
TimothyJia
发布于 2022-05-05 08:18:35
发布于 2022-05-05 08:18:35
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

一、 前言

小程序官方文档,上面说明

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

代码语言:text
AI代码解释
复制
<button open-type="getUserInfo"></button>

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

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

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

## 二、主体 ##

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

index.wxml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button
    wx:if="{{canIUse}}"
    open-type="getUserInfo"
    bindgetuserinfo="bindGetUserInfo"
>授权登录</button>
<view wx:else>请升级微信版本</view>

  index.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 {
      //用户按了拒绝按钮
    }
  }
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序-用户授权获取信息
open-data是小程序提供的不需要用户授权获取用户信息的组件,但是不能通过js来拿值,所以只能作为开发人员快速开发显示用的。
别盯着我的名字看
2022/06/09
1.5K0
微信小程序之 wx.getUserInfo引导用户授权问题
 首先,在page外定义一个函数用户判断是否为空对象 var isEmptyObject = function (e) { var temp; for (temp in e) return !1; return !0 } 然后,在page中的onload里面调用授权 onLoad: function () { var that = this; if (app.globalData.userInfo) { this.setData({ userI
wfaceboss
2019/04/08
8770
从零新建小程序
一:项目生成 自行下载微信开发者工具-打开微信开发者工具 如下图: 项目:就是项目要存的位置。 AppID:企业级需(小程序申请成功的时候会有这个,个人的不用填写,只是最后不能发布到线上)。 项目名称:demo1(可以根据自己需要起名字) 建立普通快速启动模板(就是快速生成一个小项目) ------点击确定 二:项目预览 确定之后显示的界面如下图 2-1 界面分析 2-2 项目目录 2-21 那么简单的界面,相信你用html分分钟就写好了吧,而且保证目录结构清晰。 2-22 两个文件夹 page
企鹅号小编
2018/01/17
1.1K0
从零新建小程序
微信小程序版博客——授权登录的修改(wx.getUserInfo)
之前的授权登录优化这里看下原来的这篇文章,主要是在需要的时候才弹出用户授权,同时通过wx.openSetting来实现用户拒绝后的二次授权,因为授权获取用户基本信息一旦拒绝之后小程序就不会再出现授权窗口。
Bug生活2048
2018/08/31
1.7K0
微信小程序版博客——授权登录的修改(wx.getUserInfo)
微信小程序获取用户信息(wx.getUserInfo)
微信小程序获取用户信息API:wx.getUserInfo(Object object)
德顺
2019/11/13
2.5K0
微信小程序获取用户信息(wx.getUserInfo)
小程序最新标准授权登录流程+逻辑
小程序自上线以来,官方一直在调整API,因此也出现了一批被废弃的接口,作为程序员的我们,此时此刻千万不能为这不断的变化而感到头疼,应当与时俱进,不断的更新自己的知识储备和应用技能。
王小婷
2018/12/25
1.6K0
解决微信小程序登录与发布的一些问题
要使用的是本地图片,不想把图片上传到网络再通过https的方式解决,解决方法如下:
达达前端
2022/04/29
6880
解决微信小程序登录与发布的一些问题
微信小程序开发-用户授权
微信小程序用户的授权分为几种方式,一种是对不同scope的授权,比如userInfo,需要用户手动点击允许才能获取,另一种是通过wx.login静默方式获取code,在与后台服务器交互,访问微信的api来得到会话sessionkey,我这里是两者进行结合,用户授权信息可以获取到微信用户的基本信息,但是用户的openid是存放于userinfo的encryptedData加密数据对象中,还是需要进行后台请求sessionkey进行解密,所以后台请求交互直接通过微信api的code2Session进行一次Get请求获取到openid,下面来进行具体步骤的讲解
code2roc
2023/07/19
6300
微信小程序开发-用户授权
表单及登录支付
评论功能涉及到用户登录状态,所以我们需要做一个用户登录功能,给服务端发送的请求包含登录信息。
老雷PHP全栈开发
2020/07/02
5970
小程序入门,看这一篇就够了!
文章为实战中踩坑经历,以及解决方案。同时是自己的一个项目回顾,在这里分享给大家,希望能帮助到大家。文章内代码需要左右滑动噢~ 登录授权 授权(基本信息,手机号码 )必须使用小程序原生的的button组件,然后指定open-type 后通过回调才能拿到用户信息。代码入下: index.wxml<vi
腾讯NEXT学位
2019/11/18
8350
小程序入门,看这一篇就够了!
Django实战-初识小程序授权登录
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/08/29
1.7K0
Django实战-初识小程序授权登录
微信小程序实战开发四:小程序获取用户信息流程及信息存储方式解析
微信小程序在创建初期会给一个获取用户信息的示例代码,我们今天就来解析一下小程序全局app.js运行方式及用户数据存储建议。
睿儿网络郝刚
2020/09/08
1.4K0
微信小程序实战开发四:小程序获取用户信息流程及信息存储方式解析
小程序 | 4-生命周期
小程序初始化完成时触发,全局只触发一次。参数也可以使用 wx.getLaunchOptionsSync 获取。
CnPeng
2021/04/26
6750
提升用户体验,微信小程序“授权失败”场景的优雅处理
微信小程序中提供了相关API 让开发者能获取到微信用户的相关信息,在首次去获取的时候会展示一个用户是否同意授权的对话框。Jeff 发现有不少线上的小程序都没有处理好用户“拒绝授权”导致的“授权失败”场景。 一个观点 私认为,开发微信小程序在用户授权上有一个要点:除非非常有必要,不要一进入小程序就申请授权,而是仅需要授权的页面才申请——这样让用户的心理负担没那么大。站在用户的角度,有时候我是很讨厌这种一进入小程序就申请授权的行为,毕竟头像昵称这些本质上还是属于用户的隐私,你小程序不给个理由就要拿去,我还是很反
Jeff
2018/01/22
1.8K0
提升用户体验,微信小程序“授权失败”场景的优雅处理
微信小程序“授权失败”场景的处理
很多的时候我们在处理小程序功能的时候需要用户获取用户信息,但是为了信息安全,用户不授权导致授权失败场景;但是小程序第二次不在启动授权信息弹层,为了用户体验,可以用以下方式处理:
疯狂的小程序
2018/01/22
2.8K0
微信小程序+php 授权登陆,完整代码
1、授权登陆按钮和正文信息放到了同一个页面,未授权的时候显示登陆按钮,已授权的时候隐藏登陆按钮,显示正文信息,当然也可以授权和正文分开成两个页面,在授权页面的onload里判断是否已授权,若已授权就直接跳转正文的页面。这里只说授权按钮和正文在同一页面的情况。
全栈程序员站长
2022/09/07
1.9K0
微信小程序+php 授权登陆,完整代码
微信小程序获取昵称和头像的解决方案
在微信小程序实际开发中,获取用户的昵称和头像是一项常见功能,但因为微信小程序的api依赖于不同基础库,所以导致这一需求需要用不同方法来解决。
iwhao
2024/07/02
2.5K1
微信小程序获取昵称和头像的解决方案
小程序如何获取code
小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器
达达前端
2022/04/29
2.6K0
小程序如何获取code
1 小程序开发 - 获取用户登录信息
// pages/index/index.js Page({ /** * 页面的初始数据 */ data: { msg: "小小小施爷", userInfo: null, isShow: true }, handlerParent(){ console.log("父节点"); }, handlerChild(){ console.log("子节点"); }, /** * 回调获取用户信息的函数 */ onG
用户5927264
2019/08/01
2K0
微信小程序微信登录
开发接口 登录 wx.login wx.checkSession 签名加密
达达前端
2019/07/15
31.2K0
微信小程序微信登录
相关推荐
微信小程序-用户授权获取信息
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验