Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序-用户授权获取信息

微信小程序-用户授权获取信息

作者头像
别盯着我的名字看
发布于 2022-06-09 03:16:44
发布于 2022-06-09 03:16:44
1.7K00
代码可运行
举报
文章被收录于专栏:前端专栏前端专栏
运行总次数:0
代码可运行

从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败(但不意味着 wx.getUserInfo 不能用了)。小程序官网上提供两种方式来获取用户信息。

1、使用 open-data 展示用户基本信息

open-data是小程序提供的不需要用户授权获取用户信息的组件,但是不能通过js来拿值,所以只能作为开发人员快速开发显示用的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<open-data type="userAvatarUrl"></open-data> 获取用户头像
<open-data type="userNickName"></open-data> 获取用户昵称
...

官网文档:open-data开放展示用户信息组件

2、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息(重要)

在之前使用wx.getUserInfo不受限制,在js任何地方都可以使用,可能是为了防止滥用它,微信就改成必须通过button组件来获取

用户点击按钮授权

wxml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">登陆</button>

js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
getUserInfo: function (e) {
    const userInfo = e.detail.userInfo;
    console.log(userInfo);
},

通过上面的代码就能获取授权弹窗

定义一个方法判断用户是否授权

在上面的代码基础上增加一个判断是否授权的方法wx.getSetting 这是微信提供的API,获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  data: {
    
  },
  onLoad: function (options) {
    const that = this;
    that.userAuthorized();
  },
  //判断用户是否授权
  userAuthorized: function (e) {
    var that = this;
    wx.getSetting({
      success: function (data) {
        if (data.authSetting["scope.userInfo"]) {
          wx.getUserInfo({
            success: function (data) {
              console.log("用户已经授权")
            }
          })
        }
      }
    })
  },
  //点击登陆 授权
  getUserInfo: function (e) {
    const userInfo = e.detail.userInfo;
    console.log(userInfo);
  },
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-5-7,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序获取昵称和头像的解决方案
在微信小程序实际开发中,获取用户的昵称和头像是一项常见功能,但因为微信小程序的api依赖于不同基础库,所以导致这一需求需要用不同方法来解决。
iwhao
2024/07/02
4.8K1
微信小程序获取昵称和头像的解决方案
微信小程序获取用户信息(wx.getUserInfo)
微信小程序获取用户信息API:wx.getUserInfo(Object object)
德顺
2019/11/13
2.7K0
微信小程序获取用户信息(wx.getUserInfo)
微信小程序wx.getUserInfo接口获取用户信息失败,新版SDK怎样获取用户信息
不过,你会发现调用这个接口并没有返回用户信息。逛论坛才知道,这个接口被抛弃了。哎!但是腾讯也提供了新的方式,以下演示获取用户信息的流程。
极客开发者
2022/01/18
3.4K0
微信小程序wx.getUserInfo接口获取用户信息失败,新版SDK怎样获取用户信息
小程序最新标准授权登录流程+逻辑
小程序自上线以来,官方一直在调整API,因此也出现了一批被废弃的接口,作为程序员的我们,此时此刻千万不能为这不断的变化而感到头疼,应当与时俱进,不断的更新自己的知识储备和应用技能。
王小婷
2018/12/25
1.7K0
微信小程序入门教程之四:API 使用
上一篇教程介绍了,小程序页面如何使用 JavaScript 脚本。有了脚本以后,就可以调用微信提供的各种能力(即微信 API),从而做出千变万化的页面。本篇就介绍怎么使用 API。
ruanyf
2020/11/04
3.4K0
微信小程序入门教程之四:API 使用
解决微信小程序登录与发布的一些问题
要使用的是本地图片,不想把图片上传到网络再通过https的方式解决,解决方法如下:
达达前端
2022/04/29
7670
解决微信小程序登录与发布的一些问题
微信小程序开发-用户授权
微信小程序用户的授权分为几种方式,一种是对不同scope的授权,比如userInfo,需要用户手动点击允许才能获取,另一种是通过wx.login静默方式获取code,在与后台服务器交互,访问微信的api来得到会话sessionkey,我这里是两者进行结合,用户授权信息可以获取到微信用户的基本信息,但是用户的openid是存放于userinfo的encryptedData加密数据对象中,还是需要进行后台请求sessionkey进行解密,所以后台请求交互直接通过微信api的code2Session进行一次Get请求获取到openid,下面来进行具体步骤的讲解
code2roc
2023/07/19
8700
微信小程序开发-用户授权
【微信小程序开发】使用button标签的open-type="getUserInfo"引导用户去授权
> wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用
TimothyJia
2022/05/05
2K0
微信小程序获取用户信息
在微信小程序中,如果想获取用户的昵称等信息可以不用另外写后台,如果需要获取用户的unionId,则需要后台来提供获取sessionKey和解码encryptedData。
OECOM
2020/07/01
3.5K0
微信小程序微信登录
开发接口 登录 wx.login wx.checkSession 签名加密
达达前端
2019/07/15
37.7K0
微信小程序微信登录
小程序新方法 open-type获取头像昵称
小程序自上线以来,官方一直在调整API,因此也出现了一批被废弃的接口,作为程序员的我们,此时此刻千万不能为这不断的变化而感到头疼,应当与时俱进,不断的更新自己的知识储备和应用技能。
王小婷
2018/12/04
2.4K0
小程序新方法 open-type获取头像昵称
零基础学小程序006---小程序获取用户信息用户昵称
上一节给大家讲了零基础学小程序005---小程序登陆注册功能实现。我们有时候只需要获取到微信用户的用户名和用户信息就可以了,不一定非得让用户去注册。所以这一节来给大家讲一下如何获取用户信息。 先来看下请求到的结果
编程小石头
2020/10/22
6360
零基础学小程序006---小程序获取用户信息用户昵称
微信小程序获取用户基本信息的几种方式
打印传过来的事件对象可以看到事件对象detail中的userInfo属性就是用户信息
peng_tianyu
2022/12/15
3.4K0
微信小程序获取用户基本信息的几种方式
小程序 | 4-生命周期
小程序初始化完成时触发,全局只触发一次。参数也可以使用 wx.getLaunchOptionsSync 获取。
CnPeng
2021/04/26
7200
微信小程序-聊天室
程序媛夏天
2024/01/18
5260
微信小程序-聊天室
微信小程序开发用户授权登录
第三方服务器和微信服务器: 注意:session_key是微信服务器生成的针对用户数据进行加密签名的密钥,不应该进行传输到客户端.
达达前端
2022/04/29
2.7K0
微信小程序开发用户授权登录
微信小程序+php 授权登陆,完整代码
1、授权登陆按钮和正文信息放到了同一个页面,未授权的时候显示登陆按钮,已授权的时候隐藏登陆按钮,显示正文信息,当然也可以授权和正文分开成两个页面,在授权页面的onload里判断是否已授权,若已授权就直接跳转正文的页面。这里只说授权按钮和正文在同一页面的情况。
全栈程序员站长
2022/09/07
2.4K0
微信小程序+php 授权登陆,完整代码
Django实战-初识小程序授权登录
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/08/29
1.8K0
Django实战-初识小程序授权登录
微信小程序获取用户信息、获取用户手机号码
button 按钮中open-type有两种方式获取用户的信息:getUserInfo/getPhoneNumber
前端小tips
2021/12/11
2.7K0
微信小程序获取用户信息、获取用户手机号码
【微信官方】获取用户信息方案介绍
背景 ✦✦01✦✦ 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.getUserInfo 接口。我们发现几乎所有的小程序都会调用这个接口。虽然我们在设计文档上有提出最好的设计是在真正要用户信息的情况下才去获取用户信息,不过很多开发者并没有按照我们的期望去做,导致用户在使用的时候有很多困扰。 归结起来有几点: 开发者在首页直接调用 wx.getUserInfo 进行授权,弹框有会使得一部分用户放弃小程序的使用。 开发者没有处理用户拒绝弹框的情况,有部分小程序强制要求用户授权头像昵称等信息才能继
连胜
2018/03/07
2K0
推荐阅读
相关推荐
微信小程序获取昵称和头像的解决方案
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验