Files
kiri-wchat/qq/Account.php
T

65 lines
1.5 KiB
PHP
Raw Normal View History

2019-10-25 15:20:09 +08:00
<?php
/**
* Created by PhpStorm.
* User: whwyy
* Date: 2018/4/19 0019
* Time: 16:12
*/
namespace qq;
2019-11-11 18:14:47 +08:00
use common\Decode;
use common\HttpClient;
use common\Result;
2019-10-25 15:20:09 +08:00
2019-11-11 18:14:47 +08:00
class Account extends SmallProgram
2019-10-25 15:20:09 +08:00
{
/**
* @param $code
* @return Result
*/
public function login($code)
{
$param['appid'] = $this->config->getAppid();
$param['secret'] = $this->config->getAppsecret();
$param['js_code'] = $code;
$param['grant_type'] = 'authorization_code';
2019-10-25 15:29:10 +08:00
if (empty($code)) {
return new Result(['code' => 404, 'message' => '临时登录凭证不能为空.']);
}
2020-01-07 14:12:56 +08:00
$this->request->setHost('api.q.qq.com');
$this->request->setMethod(HttpClient::GET);
$this->request->setIsSSL(true);
2020-01-07 12:22:17 +08:00
$this->request->setUseSwoole($this->config->isUsrSwoole());
2020-01-07 12:18:24 +08:00
2020-01-07 14:12:56 +08:00
return $this->request->get('sns/jscode2session', $param);
2019-10-25 15:20:09 +08:00
}
/**
* @param $encryptedData
* @param $iv
* @param $sessionKey
* @param $asArray
* @return object|array
* @throws
*
* * <li>-41001: encodingAesKey 非法</li>
* <li>-41003: aes 解密失败</li>
* <li>-41004: 解密后得到的buffer非法</li>
* <li>-41005: base64加密失败</li>
* <li>-41016: base64解密失败</li>
*/
public function decode($encryptedData, $iv, $sessionKey, $asArray = false)
{
2019-11-11 18:14:47 +08:00
$decode = new Decode();
$decode->setAppId($this->config->getAppid());
$decode->setIv($iv);
$decode->setEncryptedData($encryptedData);
$decode->setSessionKey($sessionKey);
return $decode->decode($asArray);
2019-10-25 15:20:09 +08:00
}
}