作者 lackoxygen

feat:config

... ... @@ -2,11 +2,16 @@
namespace Lackoxygen\TiktokShop\Attribute;
use Lackoxygen\TiktokShop\Attribute\Config\Config;
use Lackoxygen\TiktokShop\Attribute\Config\Option;
class Request extends Config
class Request
{
/**
* @var Option
*/
public Option $config;
/**
* @var string
*/
private string $service = '';
... ...
... ... @@ -27,10 +27,16 @@ class Builder extends Config
*/
protected string $method;
/**
* @param Option $config
* @param string $request
* @param string $method
*/
public function __construct(Option $config, string $request, string $method)
{
parent::__construct($config);
$this->requestHandler = new Request($config);
$this->requestHandler = new Request();
$this->requestHandler->config = $config;
$this->request = $request;
$this->method = $method;
}
... ...
... ... @@ -45,8 +45,8 @@ class Client
$sig = new Signature();
$sig->setTimestamp($request->getTimestamp());
$sig->setMethod($request->getService());
$sig->setAppKey($request->getConfig()->getAppKey());
$sig->setAppSecret($request->getConfig()->getAppSecret());
$sig->setAppKey($request->config->getAppKey());
$sig->setAppSecret($request->config->getAppSecret());
$sig->setVersion($request->getV());
$params = $request->getParams();
Sort::ksort($params);
... ... @@ -67,8 +67,8 @@ class Client
return [
'method' => $request->getService(),
'app_key' => $request->getConfig()->getAppKey(),
'access_token' => $request->getConfig()->getAccessToken(),
'app_key' => $request->config->getAppKey(),
'access_token' => $request->config->getAccessToken(),
'param_json' => Json::marshal($params),
'timestamp' => $request->getTimestamp(),
'v' => $request->getV(),
... ... @@ -84,8 +84,8 @@ class Client
protected function withQuery(Request $request): array
{
return [
'app_id' => $request->getConfig()->getAppKey(),
'app_secret' => $request->getConfig()->getAppSecret(),
'app_id' => $request->config->getAppKey(),
'app_secret' => $request->config->getAppSecret(),
];
}
... ... @@ -126,7 +126,7 @@ class Client
$options[RequestOptions::JSON] = $request->getParams();
$retry = new Retry(function () use ($request, $options) {
return $this->guzzleHttp($request->getConfig())
return $this->guzzleHttp($request->config)
->request(
$request->getMethod(),
$request->getPath() ?: $this->serviceToPath($request->getService()),
... ...