微信小程序getPhoneNumber快速获取用户手机号组件

2023-11-10

小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,
有了这个组件可以快速获取微信绑定手机号码,无须用户填写。

1.getPhoneNumber这个组件通过button来实现(别的标签无效)。将button中的open-type=“getPhoneNumber”,并且绑定bindgetphonenumber事件获取回调。

<span style="font-size:14px;"><button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button></span>  

2.在使用这个组件之前必须先调用login接口,如果没有调用login点击button时会提示先调用login。

App({  
    onLaunch: function () {  
        wx.login({  
            success: function (res) {  
                if (res.code) {  
                    //发起网络请求  
                    console.log(res.code)  
                } else {  
                    console.log('获取用户登录态失败!' + res.errMsg)  
                }  
            }  
        });  
    }  
}) 

3.通过bindgetphonenumber绑定的事件来获取回调。回调的参数有三个,
errMsg:用户点击取消或授权的信息回调。
iv:加密算法的初始向量(如果用户没有同意授权则为undefined)。
encryptedData: 用户信息的加密数据(如果用户没有同意授权同样返回undefined)

这里写图片描述

getPhoneNumber: function(e) {   
    console.log(e.detail.errMsg)   
    console.log(e.detail.iv)   
    console.log(e.detail.encryptedData)   
    if (e.detail.errMsg == 'getPhoneNumber:fail user deny'){  
      wx.showModal({  
          title: '提示',  
          showCancel: false,  
          content: '未授权',  
          success: function (res) { }  
      })  
    } else {  
      wx.showModal({  
          title: '提示',  
          showCancel: false,  
          content: '同意授权',  
          success: function (res) { }  
      })  
    }  
  } 

4.最后我们需要根据自己的业务逻辑来进行处理,如果用户不同意授权的话可能我们会有一个让他手动输入的界面,如果不是强制获取手机号的话可以直接跳转页面进行下一步。(用户不同意授权errMsg返回‘getPhoneNumber:fail user deny’)
5.用户同意授权,我们可以根据login时获取到的code来通过后台以及微信处理拿到session_key,最后通过app_id,session_key,iv,encryptedData(用户同意授权errMsg返回‘getPhoneNumber:ok’)
6.解密的方法可以去微信官方开发文档查看,有很详细说明。

加密数据解密算法(官方文档)

原文链接http://blog.csdn.net/sybolg/article/details/77678052

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序getPhoneNumber快速获取用户手机号组件 的相关文章

随机推荐

  • STL(标准模板库)泛型编程的基础介绍

    STL泛型编程 一 概述 二 STL基本概念 三 STL六大组件 四 STL中容器 算法 迭代器 五 C 11新增的容器种类 六 序列 七 算法 八 迭代器 1 迭代器的种类 2 随机访问迭代器 3 迭代器层次结构 九 概念 改进和模型 十
  • 关于丢失signal的发生过程

    关于条件变量的使用 有一种需要注意的情况 条件变量的原理是 wait函数将当前线程挂起 加入到等待队列中 wake函数将某个或者所有被wait函数挂起的线程复活 所以 wake执行时一定要保证所有该wait的都已经wait了 也就是说被挂在
  • 几十亿工单表,查询优化案例

    前言 之前在某大型保险公司担任技术经理 负责优化话务系统模块 由于系统已经运行10年之久 尤其在话务系统中 沉积了几十亿的话务信息表 业务人员反馈 话务系统历史数据查询部分已经完全查询不动 且数据增量仍然已每天200w 以上 数据库频繁报警
  • 【日常业务开发】Java调用第三方http接口的常用方式

    日常业务开发 Java调用第三方http接口的常用方式 概述 Java调用第三方http接口的方式 通过JDK网络类Java net HttpURLConnection 通过apache common封装好的HttpClient 通过Apa
  • Java网络编程

    博客说明 内容初稿为本人的学习笔记归纳整理 在此基础上加入了相关视频学习 相关书籍的理解 相关文章博客查阅及源码阅读 博客的编写已经尽量做到详尽 但免不了有纰漏和理解不到位的地方 发现博客的任何问题均可联系我 aboutwxf 163 co
  • Error loading: xxxx/plugins/python/helpers/pydev/pydevd_attach_to_process/attach_linux_amd64.so

    在涉及到深度学习网络调试的时候 经常出现断点卡住的情况 还会提示 Error loading home xxx pycharm 2023 2 1 plugins python helpers pydev pydevd attach to p
  • java中的实时定时任务管理系统

    java中的实时定时任务管理系统 前言 新增定时任务的线程池配置类 配置ScheduledFuture的包装类 ScheduledFuture是ScheduledExecutorService定时任务线程池的执行结果 实现Runnable接
  • 对象内存分布

    在 JVM 中 对象在内存中分为三块区域 对象头 由Mark Word和Klass Point构成 Mark Word 标记字段 用于存储对象自身的运行时数据 例如存储对象的HashCode 分代年龄 锁标志位等信息 是synchroniz
  • 【小程序】输入框检验姓名、身份证(正则表达式)并提交

    目标 输入绑定姓名 身份证号并进行校验 若未填或校验不通过则显示绑定失败的轻提示 若通过校验并提交则显示绑定成功 使用Vant Weapp gitee io 库 思路与代码 html wx model绑定输入框输入的值 data key是一
  • ThreadLocal深度解析

    简介 在并发编程中 导致并发bug的问题都会归结于对共享变量的操作不当 多个线程同时读写同一共享变量存在并发问题 我们可以利用写时复制 不变性来突破对原数据的写操作 没有写就没有并发问题 而本篇文章所介绍的技术是突破共享变量 没有共享变量也
  • Redis的主从复制和哨兵机制详解

    目录 一 CAP 原理 二 Redis主从同步 1 主从同步是什么能干嘛 2 Redis是如何实现数据同步的 2 1 增量同步 2 2 快照同步 2 3 无盘复制 2 4 通过Wait 指令保证强一致性 3 搭建Redis 1主2从 3 1
  • 解决linux下没有一些windows的头文件问题

    以conio h头文件为例 问题 解决办法 首先想办法找到conio h源文件 网上一般会有 然后随便放到哪个路径 最后以绝对或相对路径的方式添加include 例如 我把文件放在家目录下的share目录下的tool目录 现在我在家目录的s
  • 从第三方系统定时同步数据不全的解决方案

    小Z今天在项目上遇到一个遗留问题 客户的系统需要定时从银行接口获取入账信息 发生了入账数据的丢失 原因是自研系统通过定时任务的方式 每次执行任务只是获取前一天到当前时间的数据 而上个月有段时间银行前置机通信出现异常 所以出现了数据同步不到位
  • STM32CubeIDE学习笔记——搭建环境、编译烧写

    一 搭建环境 1 1 安装JRE 由于 STM32CubeIDE 软件是基于 JAVA 环境运行的 所以需要安装 JRE 才能使用 官网下载 Java Downloads Oracle 1 2 安装STM32CubeIDE 官网下载 STM
  • 大数据毕设 基于大数据的共享单车数据分析与可视化

    文章目录 0 前言 1 课题背景 2 数据清洗 3 数据可视化 热力图 整体特征分布 查看2011 2012间的单车租借情况 天气对于租借数量的影响 湿度与温度对于租借数量的影响 注册用户与未注册用户 4 总结 0 前言 这两年开始毕业设计
  • 判断IP地址有效性

    gt File Name newfile1 cpp gt Author pzz gt Mail 837157806 qq com gt Created Time 2014 2 24 14 06 47 include
  • 嵌入式 Linux 入门(九、Linux 下的磁盘管理)

    嵌入式 Linux 入门第九课 了解 linux 下的磁盘管理 学会挂载移动硬盘设备 矜辰所致 前言 嵌入式 Linux 专栏更新到现在 我们都还没有碰过开发板 本来想着前面的讲完至少先碰一碰开发板 让我们知道我们最终的目的是在开发板上运行
  • vue el-table的每行操作el-button添加单独的loading效果实现

    vue el table的每行操作el button添加单独的loading效果实现 效果图 实现代码 结语 效果图 实现代码
  • grep -v grep使用说明

    目录 一 ps ef 二 grep java 三 grep job 四 grep v grep 五 awk print 2 六 xargs kill 9 当我们要杀掉某个应用服务进程时 一般会执行以下命令 ps ef grep java g
  • 微信小程序getPhoneNumber快速获取用户手机号组件

    小程序中有很多地方都会用到注册用户信息的地方 用户需要填写手机号等 有了这个组件可以快速获取微信绑定手机号码 无须用户填写 1 getPhoneNumber这个组件通过button来实现 别的标签无效 将button中的open type