php部分
/**
* 手机号登录
* @return [type] [description]
*/
public function getPhone()
{
//包含iv,code,encryptedData
$post = $this->request->param();
$param['appid'] = 'wx5b2fc725da6511d7'; //小程序id
$param['secret'] = '683c9840703dbd6df2056fc8ba21c7aa'; //小程序密钥
$param['js_code'] = define_str_replace($post['code']); //这个code是用getInfo获取的code
$param['grant_type'] = 'authorization_code';
//从微信方请求到session_key
$http_key = httpCurl('https://api.weixin.qq.com/sns/jscode2session', $param, 'GET');
$session_key = json_decode($http_key,true);
//一般如果$session_key里有session_key的键名的话,基本都是成功了
if(!empty($session_key['session_key'])) {
$appid = $param['appid'];
$encryptedData = urldecode($post['encryptedData']);
$iv = define_str_replace($post['iv']);
//进行解密,解密失败的话$errCode里是int类型的值,例如-41003,成功的话是一维数组,里面包含解密结果
$errCode = decryptData($appid, $session_key['session_key'], $encryptedData, $iv);
}
return json_success(1,'success',$session_key);
}
//一定要使用@getphonenumber获取
0条评论