当前位置:首页 > 话题广场 > 科技专区 > 互联网

微信如何获取手机号码 如何通过微信获取手机号码

序言:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。

文档地址:

需求:授权手机号

实现方法:

wxml

<button class="name line1 my_money phone11" open-type='getPhoneNumber' bindgetphonenumber='getPhoneNumber' >授权手机号</button>

因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。

js

/** * 手机号授权 */ getPhoneNumber:function(e){ con(e); i != 'getPhoneNumber:ok'){ i == 'getPhoneNumber:fail user deny' || e.de == 'getPhoneNumber:fail:user deny'){ wx.showToast({ title: '用户取消', icon: 'none' }) }else{ wx.showToast({ title: e.de, icon: 'none' }) } return false; } var encryptedData = e.de; var iv = e.de; (encryptedData,iv); }, //获取手机号session phone_session:function(encryptedData,iv){ wx.showLoading({ title: '加载中' ,'mask' : false }); var that = this; var token = wx.getStorageSync('TOKEN'); var host = HTTP_REQUEST_URL; wx.login({ success: function (r) { var params2 = {}; = r.code; wx.request({ url: host+'/api/common/get_session_key', data:params2, method:'post', success: function (rr) { if(rr['data']['status'] == 200) { var session_key = rr['data']['data']['session_key']; wx.request({ url: host+'/api/user/phone', method: 'POST', data: { session_key: session_key, encryptedData: encryptedData, iv: iv, }, header: { 'Accept': 'application/json', 'Authori-zation' : 'Bearer ' + token, }, success(res3) { // 绑定成功 wx.hideLoading(); i == 200) { ({ userInfo: re }) } else { wx.showToast({ title: re, icon: 'none' }) } }, fail(res3) { // 绑定失败 wx.showToast({ title: re, icon: 'none' }) } }) } else { wx.showToast({ title: rr['data']['msg'], icon: 'none' }) } }, }) } }) },

php

/** * 授权手机号 */ public function phone(Request $request){ //开发者如需要获取敏感数据,需要对接口返回的加密数据( encryptedData )进行对称解密 $encryptedData = input(';); $iv = input(';); $session_key = input(';); require_once $root_path.'/extend/wxbizdatacry;; $pc = new \WXBizDataCrypt($wechat["routine_appId"], $session_key); $errCode = $pc->decryptData($encryptedData, $iv, $result); //其中$data包含用户的所有数据 if ($errCode != 0) { return_json("网络错误,请重试",100); }else{ $result = json_decode($result,true); Db::name("user")->where(["uid"=>$user_info["uid"]])->update(["phone"=>$result["phoneNumber"],"zt_phone"=>$result["phoneNumber"]]); } }

获取微信用户绑定的手机号,需先调用wx.login接口。

实现功能后如下

我是小程序软件开发,每天分享开发过程中遇到的知识点,如果对你有帮助的话,帮忙点个赞再走呗,非常感谢。

往期文章分享:

微信小程序授权登录适配wx.getUserProfile最新代码

小程序wx.chooseImage上传图片,支持相册选择图片或使用相机拍照

1.《微信如何获取手机号码 如何通过微信获取手机号码》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《微信如何获取手机号码 如何通过微信获取手机号码》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3313078.html

上一篇

如何更改mac的名字,mac电脑锁屏名字怎么更改

微信如何获取手机号码 微信小程序获取手机号码

微信如何获取手机号码,微信小程序获取手机号码,微信获取手机号码失败相关介绍,用户信息: 获取用户信息wx.getUserProfile(Object object) 获取用户信息。页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出...