微信小程序-获取用户手机号码

2023-11-16

1、在获取手机号码之前,要先进行登陆。

 

使用wx.login进行登录,登录成功会返回一个code,将code传给后台,获取登录密钥session_key等信息。将这些信息存入data。

2、使用type="getPhoneNumber"的button获取encryptedData,iv将这两个信息和session_key传给后台,通过解密返回正确的手机号码。

 <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
          手机号领取
        </button>

通过点击之后获取到的信息为

在 请求后台接口之前要先用wx.checkSession判断登录状态是否过期,如果过期就需要获取新的session_key。
 

 getPhoneNumber(e) {
    var msg = e.detail.errMsg, that = this;
    var that = this;
    var sessionID=that.data.userinfo.Session_key,
    encryptedDataStr=e.detail.encryptedData,
    iv= e.detail.iv;
    if (msg == 'getPhoneNumber:ok') {
      wx.checkSession({
        success:function(){
          that.deciyption(sessionID,encryptedDataStr,iv);
        },
        fail:function(){
          wx.login({
            success: res => {
              console.log(res,'sessionkey过期')
              wx.request('url',{code:res.code},function(res){
                var userinfo=res.data.data;
                wx.setStorageSync('userinfo',userinfo);
                that.setData({
                  userinfo:userinfo
                });
                that.deciyption(userinfo.Session_key,encryptedDataStr,iv);
              })
            }
          })
        }
      })
    }
  },
 deciyption(sessionID,encryptedDataStr,iv){
    wx.request('url', {
      sessionID: sessionID,
      encryptedDataStr:encryptedDataStr,
      iv: iv
    }, function (res) {
    //这个res即可返回用户的手机号码
    })
  },

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

微信小程序-获取用户手机号码 的相关文章

随机推荐

  • [个人笔记] origin学习 入门教程

    良心官方 已经入驻bilibili 官号 Origin Pro软件官方 投稿了许多基础教程 还有技术交流群等 打算学习的同学可以去找一下看看 2020 7 5官号只有三级 快去欺负 晚了就欺负不到了 图片中包含引用于官方视频教程的图片左下角
  • 手写数字识别代码详解

    文件目录如下 其中数据集data目录运行时在与手写数字识别同级目录自动生成 具体文件内代码见下文 一 conf py文件 项目配置 import torch train batch size 128 训练批次大小 表示每次训练神经网络时每次
  • 为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》

    大家好 我是咔咔 不期速成 日拱一卒 之前ElasticSearch系列文章中提到了如何处理空值 若为Null则会直接报错 因为在ElasticSearch中当字段值为null时 空数组 null值数组时 会将其视为该字段没有值 最终还是需
  • 3.gendisk结构体

    在Linux内核中 使用gendisk 通用磁盘 结构体来表示一个独立的磁盘设备 或分区 1 gendisk结构体 major first minor和minors共同表征了磁盘的主 次设备号 同一个磁盘的各个分区共享一个主设备号 而此设备
  • 系统搜索资源就停止服务器,SQL Server (MSSQLSERVER) 服务启动不了,系统日志显示由于下列服务特定错误而终止: 找不到映像文件中指定的资源名。...

    系统日志报错 SQL Server MSSQLSERVER 服务由于下列服务特定错误而终止 找不到映像文件中指定的资源名 SQL Server日志文件报错 2020 01 19 09 32 41 96 Server Microsoft SQ
  • 两个重要极限定理推导

    两个重要极限定理 lim x
  • GPT模型(Generative Pre-Training)

    一句话简介 2018年发掘的自回归模型 采用预训练和下游微调方式处理NLP任务 解决动态语义问题 word embedding 送入单向transformer中 目录 GPT简介 GPT概述 GPT解析 总结 一 GPT简介 1 1 背景
  • 【Nodejs】Nodejs中Buffer的使用

    前言 JavaScript 对于字符串 string 的操作十分友好 无论是宽字节字符串还是单字节字符串 都被认为是一个字符串 console log 你好 世界 length 6 console log hello world lengt
  • EXCEL常用小技巧系列03----合并单元格筛选

    在EXCEL中 若存在合并单元格 我们直接点击筛选的时候只能显示一列的筛选值 无法全部选出来 因此需要做下简单的处理 数据表 若直接筛选 选出结果如下 如筛选楼层为二楼 只能显示一条数据 处理步骤如下 一 复制合并单元格列即A列至E列 二
  • python matplotlib从文件中读取数据绘制折线图

    说明 从文件中读取数据 绘制直线图 coding utf 8 import matplotlib pyplot as plt import matplotlib as mpl import numpy as np from matplotl
  • 开发者需要知道的十几个网站

    对于开发者来说 什么最重要 当然资源最重要 每天我们需要查询大量的资料来完成我们的工作 任务 如果有网站能够对这些资源进行分类 不仅利于我们查询还有利于学习 形成知识体系 这里提供一些我个人用到的网站 分享给大家 这里有不同开发者的导航网站
  • npm install 、npm install --production 、npm install --save 、 npm install --save-dev

    首先四个都会下载js包到moudles里面 只是package json里面不同 npm install 安装所有依赖 npm install production 安装生产依赖 npm install xx save 安装XX到生产环境依
  • 01-Python的基本概念

    01 Python的基本概念 Python是一种直译式 Interpreted 面向对象 Object Oriented 的程序语言 它拥有完整的函数库 可以协助轻松地完成许多常见的工作 所谓的直译式语言是指 直译器 InteIpretor
  • oracle知识整理

    目录 语句1 建立表格语句 语句2 插入数据语句 语句3 查询表格表结构 语句4 查询表格的所有数据 语句5 表格插入多行新的数据 语句6 登陆oracle 语句7 删除整个表格语句 语句1 建立表格语句 create table CONT
  • 大数据之hbase_hbase的介绍及安装

    hbase简介 hbase是一个用以储存结构化和非结构化数据的分布式列式存储数据库 传统数据库mysql 单节点储存 储存容量小 且是行式储存 当我们需要查询某一个字段的所有数据时 需要将全表都加载一遍 而列式数据库则不需要 大大加快了查询
  • 大厂常见笔试题 滑动窗口内数的和

    大厂常见笔试题 我以为出一个很难的题 结果出了一个基础题 给你一个大小为n的整型数组和一个大小为k的滑动窗口 将滑动窗口从头移到尾 输出从开始到结束每一个时刻滑动窗口内的数的和 样例 对于数组 1 2 7 8 5 长度为n 滑动窗口大小k
  • TCP/IP编程之SO_REUSEADDR和SO_REUSEPORT套接字选项

    基本概念 SO REUSEADDR套接字选项能起到以下4个不同的功用 1 SO REUSEADDR允许启动一个监听服务器并捆绑众所周知端口 即使以前建立的该端口用作它们的本地端口的连接仍存在 这个条件通常是这样碰到的 a 启动一个监听服务器
  • 滤波电容的选择

    滤波电容的选择 理论部分 参考案例 一 参考案例 二 其他案例 理论部分 滤波电容主要看容值和耐压值 电容尺寸 容值x耐压值 电容价格 容值x耐压值 电解和钽电容耐压值要x2倍使用 陶瓷电容至少x1 5倍使用 电容选择的逻辑是频率越高 电容
  • 编译Linux内核的一些报错

    内核版本3 18 6 编译目标架构为x86 64 硬件实际架构为x86 64 1 error code model kernel does not support PIC mode 修改 kernel path arch x86 Makef
  • 微信小程序-获取用户手机号码

    1 在获取手机号码之前 要先进行登陆 使用wx login进行登录 登录成功会返回一个code 将code传给后台 获取登录密钥session key等信息 将这些信息存入data 2 使用type getPhoneNumber 的butt