- 小程序端调用wx.login获取到code,把code发送给服务端,服务端去请求该接口
$appid='';
$secret='';
$code='';
$url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code";
$ch = curl_init();
$timeout = 5;
//获取openid和session_key
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
// $errno = curl_errno( $ch );
curl_close($ch);
$info = json_decode($contents);
如果满足unionID下发的条件的时候,也会返回unionID,
服务端应该把返回的数据存在数据库中。
-
然后小程序调用wx.getPhoneNumber的API
然后把这两个参数和openid发送给服务端,服务端根据openid在数据库中读取session_key,拿session_key换取
点击该链接下载示例,里面有wxBizDataCrypt.php和errorCode.php这两个文件,引入该文件
include_once "wxBizDataCrypt.php";
$data = '';
$pc = new WXBizDataCrypt($appid, $sessionKey);
$errCode = $pc->decryptData($encryptedData, $iv, $data);
//解密后的
if ($errCode == 0) {
$data = json_decode($data);
}
返回结果