5行代码获取小程序用户的手机号

最近有很多同学有获取小程序用户手机号的需求。其实云开发出现之前我们获取小程序用户的手机号特别繁琐。自从有了云开发,我们获取用户手机号变得非常简单。只需要5行代码即可。

老规矩,我们先来看下效果图


再来看下核心的代码,其实只有下面这一些。

甚至可以说核心代码只有上图红色框里的两行。是的,你没听错,只靠这2行代码,就可以轻松的获取用户小程序绑定的手机号。
下面我们就来具体讲解吧。

注意:只有企业小程序才可以获取用户手机号,个人小程序没有办法获取的。

一,首先要用到button组件的开发能力


编写wxml文件,代码很简单

可以看到我们的button按钮,使用了open-type。
再来看下我们对应的js方法。这样我们点击按钮时,就会弹出授权弹窗。如下图

不管用户点击拒绝还是允许,我们都能拿到对应的回调。再用户点击了允许以后,就可以获取到以下数据。

大家看到我们获取的数据里有一个cloudID,其实这个值很有用的。

二,开发数据检验与解密

  • 1,首先我们看下官方提供的获取手机号的文档。

    看官方文档,可以知道,我们这里涉及到一个数据的检验与解密问题
  • 2,开发数据检验与解密

    这里我们要使用的就是方式二,使用云函数来实现解密,然后拿到用户的手机号。

三,云函数的编写


通过上图可以看到,我们编写的云函数很简单。这里主要用的就是cloud.getOpenData这个功能。而这个功能需要的参数就是我们上面第一步获取的cloudID

这样我们调用云函数的时候,只需要把对应的cloudID传进来即可。

看下我们的cloudID的作用,再来看下我们通过button的open-type获取的cloudID

可以看出,我们的cloudID和encryptedData一样,是一串加密数据。我们要通过云函数获取手机号,需要的就是这串加密字段。

四,上传cloudID获取手机号。

上面第三步云函数编写好以后,我们就可以来调用了。调用之前一定要记得部署下云函数,一定要记得部署下云函数。。。。

上图就是我们的云函数的调用。如果你对云开发和云函数还不了解,建议你去看下我之前写的云开发相关的文章,获取看下我录的《微信小程序云开发云函数入门》

  • 这时候点击按钮,我们就可以获取到了我们所需要的手机号了

    到这里我们就可以轻松的通过云开发获取用户的手机号了,比起传统的后台开发来获取,是不是简单了很多。

    今天就讲到这里了,后面我还会写更多小程序相关的技术文章出来,请持续关注。

原文地址:https://blog.51cto.com/14368928/2458918

时间: 2024-07-30 10:21:02

5行代码获取小程序用户的手机号的相关文章

10行代码实现小程序支付功能!丨实战

前面给大家讲过一个借助小程序云开发实现微信支付的,但是那个操作稍微有点繁琐,并且还会经常出现问题,今天就给大家讲一个简单的,并且借助官方支付api实现小程序支付功能. 传送门: 借助小程序云开发实现小程序支付功能 老规矩,先看本节效果图 我们实现这个支付功能完全是借助小程序云开发实现的,不用搭建自己的服务器,不用买域名,不用备案域名,不用支持https.只需要一个简单的云函数,就可以轻松的实现微信小程序支付功能. 核心代码就下面这些: 一.创建一个云开发小程序 关于如何创建云开发小程序,这里我就

PHP获取小程序码并返回前端显示图片

小程序的二维码分为小程序码和二维码: 生成小程序二维码文档中说后端来生成. 参考 小程序开发文档资料:https://developers.weixin.qq.com/miniprogram/dev/api/getWXACodeUnlimit.html 文档的参数介绍还是蛮详细的,但是没有具体的demo,对于请求的接口的返回值是进制流(也就是在浏览器显示一堆乱码)也是很令人懊恼,这里贴一下我的代码: //获取小程序码,这里调用的是小程序码的A接口类型 public function getQRC

使用CryptoJS解决微信小程序用户信息解密

使用CryptoJS解决微信小程序用户信息解密 问题描述: wx.getUserInfo(OBJECT)微信官方的这个获取用户信息的方法,需要对接口返回的加密数据( encryptedData )进行对称解密. 微信官方有提供加密数据解密算法 接口如果涉及敏感数据(如wx.getUserInfo当中的 openId 和unionId ),接口的明文内容将不包含这些敏感数据.开发者如需要获取敏感数据,需要对接口返回的加密数据( encryptedData )进行对称解密. 解密算法如下: 对称解密

微信小程序用户评分实例

微信小程序用户评分实例!成都小程序开发实例为大家分享了微信小程序实现展示评分结果的具体代码,供大家参考,具体内容如下 根据评分展示整颗行星或者半颗星星 根据评分按照小数点展示整颗行星或者部分星星 wxml 本文实例为大家分享了微信小程序实现展示评分结果的具体代码,供大家参考,具体内容如下 根据评分展示整颗行星或者半颗星星 根据评分按照小数点展示整颗行星或者部分星星 wxml <view class="conmmentbox"> <view class="st

微信小程序编译包的获取与解压还原1——在手机中获取小程序编译包wxapkg

准备工作: 微信关注需要下载编译包的小程序,然后点进去看一下,微信就会自动下载相应的编译包到手机上了. 获取小程序编译包: 据说root手机可以直接在手机的文件管理中查找wxapkg文件,自己尝试了下,无法通过搜索查找到,对应的文件夹路径也找不到相关文件,所以这里就采用比较通用的方法来获取了. 大部分智能手机都有备份功能,这样就可以在手机重装系统或恢复出厂设置之后快速恢复手机应用和数据.对的,就是这个手机备份功能,当你对一个应用进行备份的时候,除了应用本身,应用的数据也会直接被备份下来.微信也不

反编译获取小程序源码,怎么找回微信小程序源码?

看了很多反编译.找回微信小程序源码很多教程,各种问题导致都没法正常使用.微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题.查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程. 下面内容(8月6日版本)仅作学习使用. 微信小程序反编译截图1 微信小程序反编译截图2 ------ 常见的微信小程序反编译失败问题 ----- 1 获取不到Wxss     2 遇见分包,无法反编译.   3 apkg反编译报错. ( 目前都已解决) 一 准备工具 1 node.js  运行环

两步快速获取小程序源码

最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,在实际练手中,完全是黑盒的,纯靠推测,部分效果在各种尝试后能能做出大致的实现,但是有些细节,实在不知道如何去实现.这种时候,真的很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的一些比较奇葩的坑. 于是就想到获取到小程序地源文件,然后尝试对其进行反编译还原为源代码,来作为学习参考.我百度了各种关于小程序地反编译教程,但是感觉都不太适合像我这样地初学小白,踩了挺多坑.在这里把我重新简化好的

基于gin框架和jwt-go中间件实现小程序用户登陆和token验证

本文核心内容是利用jwt-go中间件来开发golang webapi用户登陆模块的token下发和验证,小程序登陆功能只是一个切入点,这套逻辑同样适用于其他客户端的登陆处理. 小程序登陆逻辑 小程序的登陆逻辑在其他博主的文章中已经总结得非常详尽,比如我参考的是这篇博文:微信小程序登录逻辑整理,所以在这里不再赘述,只是大致归纳一下我的实现流程: 在小程序端调用wx.login方法,异步获得到微信下发的 jscode ,然后将 jscode 发送到 golang 服务端(如果需要详细用户信息,见参考

微信小程序用户信息解密失败导致的内存泄漏问题。

微信小程序获取用户解密的Session_key 然后对 encryptedData进行解密 偶尔报错 时间长了之后会报内存溢出: java.lang.OutOfMemoryError: GC overhead limit exceeded at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:426) at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322) at