全网整合营销服务商

营销型网站+SEO优化+关键词快排=一站式服务

免费咨询热线:15959292472

[茂名seo公司佳选久澳]小程序如何获取手机号( thinkphp3.2.3框架)

  本篇文章给大家带来的内容是关于小程序如何获取手机号( thinkphp3▷=•☆.2●★.3框架),有一定的参考价值,海林市小程序制作公司宜州市小程序开发哪家好有需要的朋友可以参考一下○△◁-,希望对你有所帮助◇…▷▲。
 

  1、直接上代码php

  

namespace Home\Controller;
use Think\Controller;
class ApiController extends Controller {
 /**
 * error code 说明★★.
 * <ul>
 * <▪●…;li>○▪•;-41001: encodingAesKey 非法<☆■☆▷;/li>
 * <li>△▽☆;-41003: aes 解密失败</li>▲◇-;
 * <li>-41004: 解密后得到的buffer非法<◁△▪◇;/li>●★;
 * <…○=◆;li>…•▷△;-41005◆◁△: base64加密失败</li>▲☆▼•;
 * <li>-41016△▼•: base64解密失败</li>
 * <▪◇◇-;/ul>
 */
 public static $OK = 0;
 public static $IllegalAesKey = -41001○◆☆▽;
 public static $IllegalIv = -41002••◁■;
 public static $IllegalBuffer = -41003■◁▷◆;
 public static $DecodeBase64Error = -41004;
 // 小程序
 public static $appid = '◆●-…;XXX'; //小程序appid
 public static $secret = 'XXX'; //小程序秘钥 
public $sessionKey ='';
 // 获取openId session-key 等
 public function getopenId($value='●△▼;'■▲●;)
 { 
 $code = I('post.code');
 $appid = self:▲■▲○:$appid;
 $secret = self:==▪▪:$secret■•;
 $url = '△◆■;https://api.weixin.qq.com/sns/jscode2session?appid='. $appid.'□=△…;&▽=;secret='▽☆…;●▽▷.$secret.'&js_code='•△=-;•…▷.$code.'◇□◆;&grant_type=authorization_code';
 $result = httpGet($url);
 $res = json_decode($result)●◁;
 // session(['sessionKey'=>$res,'◇-•◁;expire'▪▽▷▲;=>7200])★■▪•;
 $this->ajaxReturn($res)▼★●…;

 }
 // 获取小程序手机号api 接口,对应下面小程序 js
 public function getPhoneNumber($value='●▪▷□;')
 { 
 $encryptedData = I('get.encryptedData')□▼★▲;
 $iv = I('…▽-;get.iv');
 $this->-▲▷;sessionKey=I('get.session_key'▪□;);
 $res = $this->◆=;decryptData($encryptedData●••, $iv);
 // $res = json_decode($res);
 if($res->phoneNumber){
 // $res->phoneNumbe 就是手机号可以 写入数据库或者做其他操作
 }

 $this->△□•☆;ajaxReturn(['msg'▲▲;=>•◁;$res☆=▪,'•▲;status'=>□-▷;'1'★▪;]); //把手机号返回

 }
 // 小程序解密
 public function decryptData($encryptedData◇▲, $iv)
 {
 if (strlen($this->sessionKey) != 24) {
 return self=▼□◇::$IllegalAesKey●■▼;
 }
 $aesKey=base64_decode($this->sessionKey)=○•★;

 if (strlen($iv) != 24) {
 return self◆○::$IllegalIv;
 }
 $aesIV=base64_decode($iv)=-◆★;
 $aesCipher=base64_decode($encryptedData);
 $result=openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1◁▲□, $aesIV)◇■☆◁;
 $dataObj=json_decode( $result );
 if( $dataObj == NULL )
 {
 return self•◆□:▪★:$IllegalBuffer◁△…•;
 }
 if( $dataObj->watermark->appid ■○◇!= self:▲☆☆-:$appid )
 {
 return self::$IllegalBuffer;
 }
 return $dataObj;
 // return self::$OK;
 }
function httpGet($url) {
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true)◁★☆○;
 curl_setopt($curl•◇••, CURLOPT_TIMEOUT•-, 500);
 // 为保证第三方服务器与微信服务器之间数据传输的安全性,19
										2020.10
									
									
								
								
									[惠州seo公司哪家好]本地搭建微信小程序服务器的实现方法
									
										这篇文章主要介绍了本地搭建微信小程序服务器的实现方法的相关资料,希望通过本文能帮助到大家,让大家轻松的搭建自己的微信小程序的服务器△▼◇,需要的朋友可以参考下 本地[茂名seo公司佳选久澳]所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。
 // 如果在部署过程中代码在此处验证失败,请到 http://curl.haxx.se/ca/cacert.pem 下载新的证书判别文件▲○。
 curl_setopt($curl▷□, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($curl★…, CURLOPT_SSL_VERIFYHOST◁◆-, false);
 curl_setopt($curl, CURLOPT_URL, $url);
 $res = curl_exec($curl)◆•◇▷;
 curl_close($curl)▲…●◆;
 return $res;
}
}

 

  //2■☆•◇、小程序

  2.1在app.js 启动页面里先login

  

// 登录
 // if (!wx.getStorageSync('session_key'▷▽;) 

 

   wx.getStorageSync('▪=◁▪;time') <•-=; Date●◇.parse(new Date())){ // 判断session_key是不是存在获者过期 wx△▼★▽.login({ success: res => { console.log(res) // 发送 res.code 到后台换取 openId, sessionKey, unionId wx△△▲•.request({ url: '☆•▪☆;https://www.zhixiaobing.com/index.php▪◇●?m=&…▽▲;c=api&▪△☆○;a=getopenId'•△■, header: { "Content-Type"=△-;: "application/x-www-form-urlencoded" }▽●-☆, method: 'post'●…□▲;, data: { code: res.code }, success: function (res) { console◇○▷▽.log(res.data)●▪▲•; wx.setStorageSync('openid', res○△•.data.openid) wx.setStorageSync('▼◁…◇;session_key', res.data.session_key) wx.setStorageSync('time'□◆▼□;, parseInt(Date.parse(new Date())) + 7200) } }) } })

 

  //2.2 在小程序模板里写组件

  

<button open-type="=◇★;getPhoneNumber" bindgetphonenumber="getPhoneNumber" >//这是官方的组件点击会弹出授权页面

 

  在js里写下面的函数

  

getPhoneNumber: function (e) {
 var that =this;
 var session_key = wx.getStorageSync('session_key')
 if (e.detail…▲▲◆.errMsg == '…△★▼;getPhoneNumber:fail user deny') {
 wx.showModal({
 title▽=★…: '提示',
 showCancel: false••▪,
 content△◇▷◆: '未授权'●▽;,
 success: function (res) { }
 })
 } else {//确认授权
 wx…△=.request({
 url: 'https://www▲◆.showoow.com/index•▼◆△.php?m=mini&c=api&…●;a=getPhoneNumber&openid=' + wx.getStorageSync('◇…;openid'◇□▪;), //openid是app.js 已经存的
 header●▽: {"Content-Type"▷★▪;◆▲◇☆: "application/x-www-form-urlencoded"○-★; },
 method: "◇▼○;get"◇☆▼=,
 data: {
 encryptedData☆▼◆◁: e.detail.encryptedData, iv: e.detail.iv, session_key:session_key
 },
 success:function(res){
 if (res★☆▽.data.msg…•.phoneNumber){
 console.log(res)-…☆=;
 wx.showModal({
 title: '提示',
 showCancel: false,
 content▼=: '▽▽□;授权成功',
 success◁=…▪: function () {
 wx=■□.setStorageSync('phoneNumber', res.data.msg☆▼.phoneNumber);
 var time = Date.parse(new Date()) + 60 * 60 * 24 * 2
 wx●☆◁.setStorageSync('exp'◇•◁☆, time );
 }
 })
 setTimeout(function(){
 wx.navigateTo({
 url: '/pages/form/form'◆…◁▲;,
 })
 },1500)•▪▪■;
 that.setData({
 show:'show',
 hiden-…:''
 })
 }else{
 wx.showToast({
 title▼•▪: '◇▲▪;授权失败'=◇,
 icon:'loading'☆•;
 })
 }

 },
 fail:function(){
 wx.showToast({
 title●▷▷▲: '授权失败',
 icon: 'loading'■□◇;
 })
 }
 })

 }
 }○▽,

 

  到此小程序获取手机号完结,在公司写了个小程序,可以正常获取手机号

  相关推荐:

  微信小程序传递参数以及接收数据的方法

  小程序中页面兼容h5标签的解析

  以上就是小程序如何获取手机号( thinkphp3.2▪▲▽◆.3框架)的详细内容,更多请关注久澳传媒编程栏目其它相关文章!

[茂名seo公司佳选久澳]小程序如何获取手机号( thinkphp3.2.3框架)

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。