ApiAdmin/Application/Home/ApiStore/ApiAdminSDK.class.php

78 lines
2.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
*
* @since 2017/05/10 创建
* @author zhaoxiang <zhaoxiang051405@gmail.com>
*/
namespace Home\ApiStore\ApiSDK;
use Home\ApiStore\ApiSDK\ApiAdmin\AuthSign;
use Home\ApiStore\ApiSDK\ApiAdmin\Http;
class ApiAdminSDK {
private $method; //接口名称
private $baseUrl = 'http://tadmin.365jxj.com/api/';
private $accessTokenHash = '5937719b95405';
private $version = 'v2.0';
private $appInfo = array();
/**
* ApiAdminSDK constructor.
* @param string $method 接口名称
* @param string $appInfo 应用信息
*/
public function __construct($method, $appInfo) {
$this->method = $method;
$this->appInfo = $appInfo;
}
public function updateAccessToken() {
$cacheKey = $this->appInfo['appId'] . '_access_token';
S($cacheKey, null);
}
public function getHeader($userToken = '') {
$signObj = new AuthSign($this->version, $this->appInfo);
$accessToken = $this->getAccessToken();
return $signObj->getHeader($accessToken, $userToken);
}
public function getAccessToken() {
$cacheKey = $this->appInfo['appId'] . '_access_token';
$accessToken = S($cacheKey);
if (!$accessToken) {
$signObj = new AuthSign($this->version, $this->appInfo);
$data = $signObj->getAccessTokenData();
$queryStr = http_build_query($data);
$url = $this->baseUrl . $this->accessTokenHash . '?' . $queryStr;
$header = $signObj->getHeader();
$returnArr = Http::get($url, $header);
if($returnArr['code'] == 1){
$accessToken = $returnArr['data']['access_token'];
S($cacheKey, $accessToken, 7000);
}
}
return $accessToken;
}
/**
* 处理URL当需要GET请求请传入GET参数数组
* @param $data
* @author zhaoxiang <zhaoxiang051405@gmail.com>
* @return string
*/
public function buildUrl($data = array()) {
if ($data) {
$queryStr = '?';
$queryStr .= http_build_query($data);
} else {
$queryStr = '';
}
return $this->baseUrl . $this->method . $queryStr;
}
}