Files

119 lines
2.4 KiB
PHP

<?php
namespace ShaoZeMing\AliVod\Services;
use ShaoZeMing\Aliyun\Core\DefaultAcsClient;
use ShaoZeMing\Aliyun\Core\Profile\DefaultProfile;
class BaseService
{
public $client;
/**
* @var
*/
public $config;
/**
* @var
*/
public $accessKeyID;
/**
* @var
*/
public $accessKeySecret;
/**
* @var
*/
public $regionId;
/**
* @var
*/
public $timeout;
/**
* @var
*/
public $type;
/**
* @var
*/
public $acceptFormat;
/**
* BaseService constructor.
* @param null $config
* @param string $securityToken 如果是设置了sts模式,传入这个参数
*/
public function __construct($config=null,$securityToken='')
{
$this->setConfig($config);
if ($this->type == 'sts') {
$this->client = $this->initVodSTSClient($securityToken);
} else {
$this->client = $this->initVodClient();
}
}
/**
* User: ZeMing Shao
* Email: szm19920426@gmail.com
* @return DefaultAcsClient
*/
public function initVodClient()
{
$profile = DefaultProfile::getProfile($this->regionId, $this->accessKeyID, $this->accessKeySecret);
return new DefaultAcsClient($profile);
}
/**
* User: ZeMing Shao
* Email: szm19920426@gmail.com
* @param $securityToken
* @return DefaultAcsClient
*/
public function initVodSTSClient($securityToken)
{
$profile = DefaultProfile::getProfile($this->regionId, $this->accessKeyID, $this->accessKeySecret, $securityToken);
return new DefaultAcsClient($profile);
}
/**
* User: ZeMing Shao
* Email: szm19920426@gmail.com
* @param $config
*/
public function setConfig($config)
{
if($config){
$this->config = $config;
}else{
$this->config = \app\common\model\config\System::getConfig('alivod');
}
$this->accessKeyID = $this->config['access_key_id'];
$this->accessKeySecret = $this->config['access_key_secret'];
$this->regionId = $this->config['region_id'];
$this->timeout = '3600'; // 如果是获取签名有效时间为多少
$this->type = 'access';//类型:access|sts 如果是sts 实例化对象时候需要传入$securityToken
$this->acceptFormat = 'JSON';//返回数据格式
}
}