小程序获取手机号和用户信息一键登录

这篇具有很好参考价值的文章主要介绍了小程序获取手机号和用户信息一键登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、效果贴图

小程序获取手机号和用户信息一键登录小程序获取手机号和用户信息一键登录

二、实现方式:

1、一建获取用户信息

  • 以前可以通过<button open-type="getUserInfo" >一键登录</button>来实现一建获取用户信息;

  • 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像、昵称、性别与地区)

  • 新增getUserProfile接口(基础库2.10.4版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认

所以我们要通过getUserProfile接口来实现一建获取用户信息功能;
具体代码如下

login.wxml文件

<button class='bottom' type='primary' bindtap="getUserProfile" lang="zh_CN">微信一键登录</button>

login.js文件

getUserProfile(e) {
  // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
  let that = this
  wx.getUserProfile({
    desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
    success: (res) => {
        if(res.errMsg === "getUserProfile:ok"){
          that.setData({
              userInfo: res.userInfo,
              logined: true
            })
            that.userInfo = res.userInfo;
        }else{
          
        }
    },
    complete: (res) => {
      if(res.errMsg === "getUserProfile:fail auth deny"){

      }
      },
  })
},

2、一建获取用户手机号

login.wxml文件

 <button class='bottom' type='primary' open-type="getPhoneNumber" lang="zh_CN" bindgetphonenumber="bindGetUserInfo">微信手机号一键登录</button>

login.js文件

bindGetUserInfo: function (e) {
   if (e.detail.errMsg === "getPhoneNumber:ok") {
        //用户按了允许授权按钮
        var that = this;
          wx.login({
            success(loginRes) {
              if (loginRes.code) {
                  let code = loginRes.code;
                  // 登录  -  start
                  let data = {
                    code: code,
                    iv: e.detail.iv, 
                    image: that.userInfo.avatarUrl,
                    encrypteData: e.detail.encryptedData,
                  }
                  // loading start
                  wx.showLoading({
                    title: '登录中...',
                  })

                  // 调用你的登录接口将用户收据发送给服务器
                  login(data).then(res => {
                    wx.hideLoading()
                    if(res.data.code === 0){
                      let dataString = JSON.stringify(res.data.data)
                      wx.setStorage({key: 'token', data: res.data.data.token})
                      wx.setStorage({key: 'userInfo', data: dataString})
      
                      wx.showToast({
                        title: '登录成功',
                        icon: 'success',
                        duration: 2500
                      })
                      let timer = setTimeout(() => {
                        clearTimeout(timer);
                        timer = null
                        app.onLaunch()
                        wx.reLaunch({
                          url: '/pages/home/index',
                        })
                      }, 2000);
                    }
                  }, err => {
                    // wx.hideLoading()
                    // wx.showToast({
                    //   title: res.data.message,
                    //   icon: 'none',
                    //   duration: 2500
                    // })
                  });
                  // 登录  -  end
              }
            }
        })
    } else {
        // wx.switchTab({
        //     url: '/pages/home/index'
        // })
    }
},

这里面需要注意:

  • 1、用 e.detail.errMsg === "getPhoneNumber:ok"
    来判断用户是确认还是拒绝获取手机号的申请,去做相应处理
  • 2、我们获取到的用户手机号码是加密的数据。我们把
iv: e.detail.iv, 
encrypteData: e.detail.encryptedData,

发送给后台,由后台来解析。文章来源地址https://www.toymoban.com/news/detail-488472.html

到了这里,关于小程序获取手机号和用户信息一键登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • (详细版)java实现小程序获取微信登录,用户信息,手机号,头像

    ps:springboot结合mybatisPlus、mysql实现,简单易懂,一件粘贴使用,详细往下看↓          1.注册微信开发平台账号,并创建小程序,获取小程序的AppID和AppSecret。 2.在小程序中引导用户点击按钮触发微信登录,获取到code。 3.将code发送到后端,后端通过code获取用户的openid和

    2024年02月01日
    浏览(10)
  • uniapp - [最新] 超详细实现支付宝小程序获取手机号、个人信息,支付宝弹框授权拿到用户手机号与昵称头像等信息完整流程(详细示例源码与注释,一键复制快速应用到项目中)

    uniapp - [最新] 超详细实现支付宝小程序获取手机号、个人信息,支付宝弹框授权拿到用户手机号与昵称头像等信息完整流程(详细示例源码与注释,一键复制快速应用到项目中)

    网上的文章乱七八糟的都不行,新手小白很难看懂,本篇文章通俗易懂。 本博客实现了在uniapp 支付宝小程序项目中,从 0-1 描述了如何授权获取用户的手机号和头像昵称信息,一看就能懂 你可以跟着教程一步步走,从支付宝后台配置再到详细的示例,稍微改改参数就能快速

    2024年02月06日
    浏览(75)
  • 微信小程序:登录授权,根据手机号获取凭证,获取用户手机号

    1.微信小程序授权 controller 层代码 wxUtils 工具类 2.微信小程序,用户手机号获取 微信小程序,根据code(code为手机号获取凭证)获取用户加密手机号 获取用户手机号方法

    2024年02月14日
    浏览(13)
  • Taro:微信小程序通过获取手机号实现一键登录

            本文介绍如果通过微信小程序的getPhoneNumber方法获取用户微信绑定的手机号并自动注册登录。 1、按钮类型 openType 指定 \\\"getPhoneNumber\\\"   2、@getphonenumber必须全部小写 code:手机号获取凭证:动态令牌。可通过动态令牌换取用户手机号。         后台根据前端传入

    2024年02月16日
    浏览(42)
  • 【微信小程序】如何获取用户手机号授权登录

    【微信小程序】如何获取用户手机号授权登录

    目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体),也就是说只针对企业认证小程序开放。若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。 在使用该接口时,用户可使用微信绑定手机号进行授权,也添加

    2024年02月16日
    浏览(15)
  • 微信小程序中如何获取用户手机号授权登录

    随着微信小程序的普及,许多应用程序需要用户登录才能提供更好的服务。而获取用户手机号码是验证用户身份和确保账户安全的重要步骤之一。因此,在本文中,我们将介绍如何在微信小程序中实现手机号授权登录。 首先,在小程序后台开发设置中勾选“获取手机号”选项

    2024年02月11日
    浏览(37)
  • 公众号和小程序获取用户信息及获取手机号

    公众号的获取用户信息 前端传code,后端根据code获取用户信息 代码: 小程序获取用户信息 前端传iv,encryptedData,code,然后后端根据code获取session_key,再利用session_key,encryptedData及iv来获取用户信息 注意:前端wx.login获取code和获取用户信息的顺序 代码:(用的easyWeChat) 小程

    2024年02月11日
    浏览(9)
  • 微信小程序:授权登录获取手机号及获取基本信息等

    微信小程序:授权登录获取手机号及获取基本信息等

    微信文档 1)需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,通过 getphonenumber 事件获取回调信息; 2)将 getphonenumber 事件回调中的动态令牌code传到开发者后台,并在开发者后台调用微信后台提供的 phonenumber.getPhoneNumber 接口,消费code来换取用户手机

    2024年02月06日
    浏览(10)
  • 【微信小程序开发】小程序微信用户授权登录(用户信息&手机号)

    【微信小程序开发】小程序微信用户授权登录(用户信息&手机号)

    🥳🥳Welcome Huihui\\\'s Code World ! !🥳🥳 接下来看看由辉辉所写的关于小程序的相关操作吧 目录 🥳🥳Welcome Huihui\\\'s Code World ! !🥳🥳 授权流程讲解 一.用户信息授权登录 1.wx.login 2.wx.getUserProfile 3.代码 WXML JS 二.用户信息授权登录之后台交互 前期准备 ①准备数据接口 ②密钥以及

    2024年02月08日
    浏览(16)
  • uniapp开发小程序之获取用户基本信息与手机号方式

    uniapp开发小程序之获取用户基本信息与手机号方式

    介绍 首先讲讲小程序的登录注册,一般登录首先需要获取code code的有效期是十五分钟左右,前端通过接口获取到code之后传给后端,然后后端会根据code来判断是否有该用户,并且后台可以携带code发送请求,获取到用户 openid,ession_key等,没有该用户就进行注册 手机号  获取

    2024年02月16日
    浏览(8)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包