作者 lackoxygen

feat:config

@@ -2,11 +2,16 @@ @@ -2,11 +2,16 @@
2 2
3 namespace Lackoxygen\TiktokShop\Attribute; 3 namespace Lackoxygen\TiktokShop\Attribute;
4 4
5 -use Lackoxygen\TiktokShop\Attribute\Config\Config; 5 +use Lackoxygen\TiktokShop\Attribute\Config\Option;
6 6
7 -class Request extends Config 7 +class Request
8 { 8 {
9 /** 9 /**
  10 + * @var Option
  11 + */
  12 + public Option $config;
  13 +
  14 + /**
10 * @var string 15 * @var string
11 */ 16 */
12 private string $service = ''; 17 private string $service = '';
@@ -27,10 +27,16 @@ class Builder extends Config @@ -27,10 +27,16 @@ class Builder extends Config
27 */ 27 */
28 protected string $method; 28 protected string $method;
29 29
  30 + /**
  31 + * @param Option $config
  32 + * @param string $request
  33 + * @param string $method
  34 + */
30 public function __construct(Option $config, string $request, string $method) 35 public function __construct(Option $config, string $request, string $method)
31 { 36 {
32 parent::__construct($config); 37 parent::__construct($config);
33 - $this->requestHandler = new Request($config); 38 + $this->requestHandler = new Request();
  39 + $this->requestHandler->config = $config;
34 $this->request = $request; 40 $this->request = $request;
35 $this->method = $method; 41 $this->method = $method;
36 } 42 }
@@ -45,8 +45,8 @@ class Client @@ -45,8 +45,8 @@ class Client
45 $sig = new Signature(); 45 $sig = new Signature();
46 $sig->setTimestamp($request->getTimestamp()); 46 $sig->setTimestamp($request->getTimestamp());
47 $sig->setMethod($request->getService()); 47 $sig->setMethod($request->getService());
48 - $sig->setAppKey($request->getConfig()->getAppKey());  
49 - $sig->setAppSecret($request->getConfig()->getAppSecret()); 48 + $sig->setAppKey($request->config->getAppKey());
  49 + $sig->setAppSecret($request->config->getAppSecret());
50 $sig->setVersion($request->getV()); 50 $sig->setVersion($request->getV());
51 $params = $request->getParams(); 51 $params = $request->getParams();
52 Sort::ksort($params); 52 Sort::ksort($params);
@@ -67,8 +67,8 @@ class Client @@ -67,8 +67,8 @@ class Client
67 67
68 return [ 68 return [
69 'method' => $request->getService(), 69 'method' => $request->getService(),
70 - 'app_key' => $request->getConfig()->getAppKey(),  
71 - 'access_token' => $request->getConfig()->getAccessToken(), 70 + 'app_key' => $request->config->getAppKey(),
  71 + 'access_token' => $request->config->getAccessToken(),
72 'param_json' => Json::marshal($params), 72 'param_json' => Json::marshal($params),
73 'timestamp' => $request->getTimestamp(), 73 'timestamp' => $request->getTimestamp(),
74 'v' => $request->getV(), 74 'v' => $request->getV(),
@@ -84,8 +84,8 @@ class Client @@ -84,8 +84,8 @@ class Client
84 protected function withQuery(Request $request): array 84 protected function withQuery(Request $request): array
85 { 85 {
86 return [ 86 return [
87 - 'app_id' => $request->getConfig()->getAppKey(),  
88 - 'app_secret' => $request->getConfig()->getAppSecret(), 87 + 'app_id' => $request->config->getAppKey(),
  88 + 'app_secret' => $request->config->getAppSecret(),
89 ]; 89 ];
90 } 90 }
91 91
@@ -126,7 +126,7 @@ class Client @@ -126,7 +126,7 @@ class Client
126 $options[RequestOptions::JSON] = $request->getParams(); 126 $options[RequestOptions::JSON] = $request->getParams();
127 127
128 $retry = new Retry(function () use ($request, $options) { 128 $retry = new Retry(function () use ($request, $options) {
129 - return $this->guzzleHttp($request->getConfig()) 129 + return $this->guzzleHttp($request->config)
130 ->request( 130 ->request(
131 $request->getMethod(), 131 $request->getMethod(),
132 $request->getPath() ?: $this->serviceToPath($request->getService()), 132 $request->getPath() ?: $this->serviceToPath($request->getService()),