添加网站文件

This commit is contained in:
2025-12-22 13:59:40 +08:00
commit 117aaf83d1
19468 changed files with 2111999 additions and 0 deletions

View File

@@ -0,0 +1,262 @@
<?php
if (!defined('QCLOUDAPI_ROOT_PATH')) {
// 目录入口
define('QCLOUDAPI_ROOT_PATH', dirname(dirname(__FILE__)));
}
require_once QCLOUDAPI_ROOT_PATH . '/Common/Base.php';
/**
* QcloudApi_Module_Base
* 模块基类
*/
abstract class QcloudApi_Module_Base extends QcloudApi_Common_Base
{
/**
* $_serverHost
* 接口域名
* @var string
*/
protected $_serverHost = '';
/**
* $_serverUri
* url路径
* @var string
*/
protected $_serverUri = '/v2/index.php';
/**
* $_secretId
* secretId
* @var string
*/
protected $_secretId = "";
/**
* $_secretKey
* secretKey
* @var string
*/
protected $_secretKey = "";
/**
* $_defaultRegion
* 区域参数
* @var string
*/
protected $_defaultRegion = "";
/**
* $_requestMethod
* 请求方法
* @var string
*/
protected $_requestMethod = "GET";
/**
* __construct
* @param array $config [description]
*/
public function __construct($config = array())
{
if (!empty($config))
$this->setConfig($config);
}
/**
* setConfig
* 设置配置
* @param array $config 模块配置
*/
public function setConfig($config)
{
if (!is_array($config) || !count($config))
return false;
foreach ($config as $key => $val) {
switch ($key) {
case 'SecretId':
$this->setConfigSecretId($val);
break;
case 'SecretKey':
$this->setConfigSecretKey($val);
break;
case 'DefaultRegion':
$this->setConfigDefaultRegion($val);
break;
case 'RequestMethod':
$this->setConfigRequestMethod($val);
break;
default:
;
break;
}
}
return true;
}
/**
* setConfigSecretId
* 设置secretId
* @param string $secretId secretId
*/
public function setConfigSecretId($secretId)
{
$this->_secretId = $secretId;
return $this;
}
/**
* setConfigSecretKey
* 设置secretKey
* @param string $secretKey
*/
public function setConfigSecretKey($secretKey)
{
$this->_secretKey = $secretKey;
return $this;
}
/**
* setConfigDefaultRegion
* 设置区域参数
* @param string $region
*/
public function setConfigDefaultRegion($region)
{
$this->_defaultRegion = $region;
return $this;
}
/**
* setConfigRequestMethod
* 设置请求方法
* @param string $method
*/
public function setConfigRequestMethod($method)
{
$this->_requestMethod = strtoupper($method);
return $this;
}
/**
* getLastRequest
* 获取上次请求的url
* @return
*/
public function getLastRequest()
{
require_once QCLOUDAPI_ROOT_PATH . '/Common/Request.php';
return QcloudApi_Common_Request::getRequestUrl();
}
/**
* getLastResponse
* 获取请求的原始返回
* @return
*/
public function getLastResponse()
{
require_once QCLOUDAPI_ROOT_PATH . '/Common/Request.php';
return QcloudApi_Common_Request::getRawResponse();
}
/**
* generateUrl
* 生成请求的URL不发起请求
* @param string $name 接口方法名
* @param array $params 请求参数
* @return
*/
public function generateUrl($name, $params)
{
require_once QCLOUDAPI_ROOT_PATH . '/Common/Request.php';
$action = ucfirst($name);
$params['Action'] = $action;
if (!isset($params['Region']))
$params['Region'] = $this->_defaultRegion;
return QcloudApi_Common_Request::generateUrl($params, $this->_secretId, $this->_secretKey, $this->_requestMethod,
$this->_serverHost, $this->_serverUri);
}
/**
* __call
* 通过__call转发请求
* @param string $name 方法名
* @param array $arguments 参数
* @return
*/
public function __call($name, $arguments)
{
$response = $this->_dispatchRequest($name, $arguments);
return $this->_dealResponse($response);
}
/**
* _dispatchRequest
* 发起接口请求
* @param string $name 接口名
* @param array $arguments 接口参数
* @return
*/
protected function _dispatchRequest($name, $arguments)
{
$action = ucfirst($name);
$params = array();
if (is_array($arguments) && !empty($arguments)) {
$params = (array) $arguments[0];
}
$params['Action'] = $action;
if (!isset($params['Region']))
$params['Region'] = $this->_defaultRegion;
require_once QCLOUDAPI_ROOT_PATH . '/Common/Request.php';
$response = QcloudApi_Common_Request::send($params, $this->_secretId, $this->_secretKey, $this->_requestMethod,
$this->_serverHost, $this->_serverUri);
return $response;
}
/**
* _dealResponse
* 处理返回
* @param array $rawResponse
* @return
*/
protected function _dealResponse($rawResponse)
{
if (!is_array($rawResponse) || (!isset($rawResponse['code']) && !isset($rawResponse['Response']))) {
$this->setError("", 'request falied!');
return false;
}
if ($rawResponse['code']) {
$ext = '';
require_once QCLOUDAPI_ROOT_PATH . '/Common/Error.php';
if (isset($rawResponse['detail'])) {
// 批量异步操作,返回任务失败信息
$ext = $rawResponse['detail'];
}
$this->setError($rawResponse['code'], $rawResponse['message'], $ext);
return false;
}
unset($rawResponse['code'], $rawResponse['message']);
if (count($rawResponse))
return $rawResponse;
else
return true;
}
}