小程序 解密手机号
思路一:
1. 在小程序端定義button? ?
2. js中調獲取破解用戶手機號的接口(可以在接口里直接破解之后存儲用戶手機號)
? ?2.1? 破解手機號,返回給小程序端
? ?2.2? ?將手機號存到數據庫
//解密手機號碼public function doPagegetPhoneNumber(){global $_GPC, $_W;require_once dirname(__FILE__) . '/mail/WXBizDataCrypt.php';$uniacid = $_W['uniacid'];$appid = $_GPC['appid'];$sessionKey = $_GPC['session_key'];$encryptedData = $_GPC['encryptedData'];$openid = $_GPC['openid'];$iv = $_GPC['iv'];// echo json_encode($_GPC);exit();$pc = new WXBizDataCrypt($appid, $sessionKey);$errCode = $pc->decryptData($encryptedData, $iv, $data);// echo $errCode;exit();if ($errCode == 0) {$d = json_decode($data,true); //將json字符串轉化為數組$arr['user_tel'] = $d['phoneNumber']; //根據openid查詢對應用戶信息if($openid){//如果存在openid,則查詢對應的數據$info = pdo_fetchall("select id from " . tablename('yzpx_sun_user') . " where `uniacid`='$uniacid' and openid='$openid'");if (empty($info)) {//如果沒有該openid對應的數據則插入該條數據$arr['time'] = time();$res = pdo_insert('yzpx_sun_user', $arr); } else {如果沒有該openid對應的數據則更新該條數據$arr['time'] = time();$res = pdo_update("yzpx_sun_user", $arr, array('openid' => $openid)); }}print($data . "\n"); //將數據返回給小程序端} else {print($errCode . "\n");}}(這種辦法小程序端可以少掉一次存儲用戶信息的接口)
思路二:
1. 在小程序端定義button? ?
2. js中調獲取破解用戶手機號的接口,?破解手機號,返回給小程序端
//解密手機號碼public function doPagegetPhoneNumber(){global $_GPC, $_W;require_once dirname(__FILE__) . '/mail/WXBizDataCrypt.php';$appid = $_GPC['appid'];$sessionKey = $_GPC['session_key'];$encryptedData = $_GPC['encryptedData'];$iv = $_GPC['iv'];// echo json_encode($_GPC);exit();$pc = new WXBizDataCrypt($appid, $sessionKey);$errCode = $pc->decryptData($encryptedData, $iv, $data);// echo $errCode;exit();if ($errCode == 0) {print($data . "\n");} else {print($errCode . "\n");}}3.小程序端將返回的手機號傳回后端,調用存儲用戶信息的接口,存儲手機號
?
總結
- 上一篇: Working With JSON
- 下一篇: element方法的自定义参数传参方式