小程序开发实践解析:如何获取手机号码

本站:VPS参考评测推荐,专注分享VPS服务器优惠信息!若您是商家也可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
部分文章发布时间较久远,可能存在未知因素,购买时建议在本站搜索商家名称,可查看相关文章充分了解商家!若非中文页面可使用谷歌浏览器同步翻译!PayPal代付/收录合作

程序如何获取用户的手机号?下面这篇文章给大家简介一下微信小程序开发中获取用户手机号的方法,希望对你有所帮助!

1.后台平时使用第三方微信小程序时,往往需要获取微信手机号,如下图所示:

【相关学习推荐:小程序开发教程】

这是如何实现的?下面记录一下如何获取微信手机号。

* *备注:* *你需要有一个微信小程序号,这个号是企业认证的。(获取手机号功能对个人小程序号不生效)

那我们就一起开始获取手机号的编程之旅吧。

2、代码实现2.1新项目

添加“至app.json文件页面/getphonenumber/getphonenumber ;,如下图所示:

2.2准备密文分析工具类

手机号是通过微信小程序提供的接口获取的,返回的数据是加密的,所以需要对返回的加密数据进行解密。

1)新终端

在微信开发者工具中,点击"终端" -"新建终端"如下图所示:

2)执行npm初始化指令

//执行npm init后,需要输入一些信息,一直点击“回车”即可。

如下图所示:

3)依次执行npm安装crypto-js --save,npm安装js-base64 --save

如下图所示:

4)建立国家预防机制

在微信开发工具的菜单栏中选择“工具”-和“构建npm”完成构建。

2.3解析类实现

在项目的utils文件夹下新建一个WXBizDataCrypt.js文件,代码实现如下:

var CryptoJS = require( ;crypto -js ;);var base 64 = require( ;js-base64 ;);//解析加密数据functiondecode (sessionkey,iv,data){ var key = cryptojs . enc . base64 . parse(session key);var iv = cryptojs . enc . base64 . parse(iv);var decrypt = CryptoJS。AES.decrypt(data,key,{ iv: iv,mode: CryptoJS.mode.CBC,padding:cryptojs . pad . pkcs 7 });返回base64 . decode(cryptojs . enc . base64 . stringify(decrypt));}module.exports = {decode}2.4获取手机号码代码的实现

2 . 4 . 1 getphonenumber . js的实现

注意:appId和secret需要用自己的小程序替换。

//pages/getphonenumber/getphonenumber . jsconst WXBizDataCrypt = require( # 39;../../utils/WXBizDataCrypt # 39;);Page({ /** *页面的初始数据*/data:{ phoneNum: # 39;',session key: # 39;',openId: # 39;'},/* * *生命周期函数--监听页面加载*/onload:function(options){ this . getsession key();},getPhoneNumber:function(e){ if(e . detail . errmsg = = ;getPhoneNumber:拒绝用户失败 ){ wx . show toast({ title: # 39;授权被拒绝,无法获取用户手机号!',})返回;}//解密数据得到手机号this . Decrypt data(this . data . session key,e.detail.iv,e . detail . encrypted data);},//get session key getsession key:function(){ wx . log in({ success:RES = >;{ console . log( # 39;代码: # 39;+RES . code);var数据= { # 39;appid # 39:'***********',//注意appId和secret需要用自己的applet替换 # 39;秘密 # 39;:'**************************', 'js _ code # 39:res.code, # 39;grant _ type # 39:'授权_代码 # 39;};wx . request({ URL: # 39;https://api.weixin.qq.com/sns/jscode2session',数据:数据,方法: # 39;获取 # 39;,success:RES = gt;{ console . log( ;jscode 2会话结果:,RES);this . setdata({ session key:RES . data . session _ key,openId: res.data.openId }) },fail:function(RES){ console . log( ;获取jscodeSession失败: ",RES);}}}}}},//解密数据:function (key,IV,加密数据){ var process data = wxbizdatacrypt . decode(key,IV,加密数据);控制台. log( ;解密数据:“,process data);var JSON obj = JSON . parse(process data);this.setData({ phoneNum: jsonObj

有关编程的更多信息,请访问:编程视频!!以上是对小程序开发实践的简要分析。更多详情请关注本站其他相关文章!

本文由本站刊发,转载请注明:小程序开发实践解析:如何获取手机号码 https://本站.com/76237.html

推荐站内搜索:查看ip地址、阿里云域名注册入口、中文域名注册查询、备案空间、秒换ip服务器、ip查寻、代理服务ip、查询ip、国内免费空间、国外十大免费服务器、