小程序获取微信用户绑定的手机号

小程序API内提供getPhoneNumber借口来获取用户已经绑定到微信的手机号,但需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用;

基本流程如下:

使用方法

需要将 <button> 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 app_id 进行解密获取手机号。

html

<button class="weui-btn" type="primary" style='width:690rpx'  open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信绑定手机号登录</button>
Page({
    getPhoneNumber: function (e) {
        console.log(`是否成功调用${e.detail.errMsg}`);
        console.log(`加密算法的初始向量:${e.detail.iv}`);
        console.log(`包括敏感数据在内的完整用户信息的加密数据:${e.detail.encryptedData}`);
    } 
});

截图

如果用户点击允许getPhoneNumber为ok,且成功返回encryptedData和iv

如果用户点击拒绝getPhoneNumber为fail user deny,返回encryptedData和iv为undefined

返回参数说明

encryptedData 解密后为以下 json 结构,详见加密数据解密算法

{
    "phoneNumber": "13880006666",  
    "purePhoneNumber": "13580006666", 
    "countryCode": "86",
    "watermark":
    {
        "appid":"APPID",
        "timestamp":TIMESTAMP
    }
}

解密后参数说明

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

OpenVPN简单部署笔记

打算在IDC机房部署VPN环境,Openvpn也是一个不错的选择:开源,好用,而且免费。 OpenVPN简单介绍 OpenVPN是一个用于创建虚拟专用网络(Vi...

9837
来自专栏Android 开发者

[译] 在 Android P 中使用默认的 TLS 来保护你的用户

2313
来自专栏云端架构

【云端架构】常见电脑开放端口及含义

说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址...

5647
来自专栏FreeBuf

如何在macOS上监听单个应用HTTPS流量

写在前面的话 如果你准备对网络协议进行逆向分析或进行任何与网络安全有关的活动时,可能是为了了解协议运行机制,也有可能是为了查找敏感信息,你或多或少都需要收集一定...

2535
来自专栏北京马哥教育

吐血整理所有常用端口,不全你来打我!

作者:ADreamClusive 来源: http://blog.csdn.net/u013943420/article/details/65938696 大家...

38313
来自专栏大数据学习笔记

HDFS ZKFC实现NameNode自动切换原理

官方文档: https://issues.apache.org/jira/secure/attachment/12521279/zkfc-design.pd...

44310
来自专栏电光石火

tengine+tomcat+php安装

在安装tengine之前,确认centos环境中有无gcc、pcre、openssl,如果没有按以下命令进行安装

2217
来自专栏魏艾斯博客www.vpsss.net

补充记录腾讯云 DNSPod 域名 API 申请 Let’s Encrypt 泛域名 SSL 证书需要注意的几点

1774
来自专栏菩提树下的杨过

IIS7.5中神秘的ApplicationPoolIdentity

IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem...

20510
来自专栏张戈的专栏

分享一个Linux无法创建文件夹,但是目录权限却显示正常的问题和解决

今天发现一个疑难杂症:发现批量发布一个新版本程序时,发现有一台没有成功。亲自登陆上去看了下,发现原来是发布帐号在某个目录下创建目录失败了! 人工 touch 试...

4765

扫码关注云+社区