正在显示
5 个修改的文件
包含
139 行增加
和
26 行删除
| @@ -7,6 +7,7 @@ use Lackoxygen\TiktokOpen\Base\Event\Fail; | @@ -7,6 +7,7 @@ use Lackoxygen\TiktokOpen\Base\Event\Fail; | ||
| 7 | use Lackoxygen\TiktokOpen\Base\Event\Request; | 7 | use Lackoxygen\TiktokOpen\Base\Event\Request; |
| 8 | use Lackoxygen\TiktokOpen\Base\Event\Response; | 8 | use Lackoxygen\TiktokOpen\Base\Event\Response; |
| 9 | use Lackoxygen\TiktokOpen\Base\ServiceManager; | 9 | use Lackoxygen\TiktokOpen\Base\ServiceManager; |
| 10 | +use Lackoxygen\TiktokOpen\Base\Signer\SignerInterface; | ||
| 10 | use Lackoxygen\TiktokOpen\Base\Traits\BaseClient; | 11 | use Lackoxygen\TiktokOpen\Base\Traits\BaseClient; |
| 11 | use Lackoxygen\TiktokOpen\Wap\Listener; | 12 | use Lackoxygen\TiktokOpen\Wap\Listener; |
| 12 | use GuzzleHttp\RequestOptions; | 13 | use GuzzleHttp\RequestOptions; |
| @@ -20,10 +21,13 @@ class Client extends ServiceManager | @@ -20,10 +21,13 @@ class Client extends ServiceManager | ||
| 20 | 21 | ||
| 21 | private bool $withSession; | 22 | private bool $withSession; |
| 22 | 23 | ||
| 24 | + private SignerInterface $signer; | ||
| 25 | + | ||
| 23 | public function __construct( | 26 | public function __construct( |
| 24 | - Application $app, $requestOption = '', $withSession = false | ||
| 25 | - ) | ||
| 26 | - { | 27 | + Application $app, |
| 28 | + $requestOption = '', | ||
| 29 | + $withSession = false | ||
| 30 | + ) { | ||
| 27 | parent::__construct($app); | 31 | parent::__construct($app); |
| 28 | 32 | ||
| 29 | $this->listen(); | 33 | $this->listen(); |
| @@ -43,43 +47,34 @@ class Client extends ServiceManager | @@ -43,43 +47,34 @@ class Client extends ServiceManager | ||
| 43 | 47 | ||
| 44 | public function asForm(): Client | 48 | public function asForm(): Client |
| 45 | { | 49 | { |
| 46 | - return new Client( | ||
| 47 | - $this->app, | ||
| 48 | - RequestOptions::FORM_PARAMS, | ||
| 49 | - $this->withSession | ||
| 50 | - ); | 50 | + return new Client($this->app, RequestOptions::FORM_PARAMS, $this->withSession); |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | public function asJson(): Client | 53 | public function asJson(): Client |
| 54 | { | 54 | { |
| 55 | - return new Client( | ||
| 56 | - $this->app, | ||
| 57 | - RequestOptions::JSON, | ||
| 58 | - $this->withSession | ||
| 59 | - ); | 55 | + return new Client($this->app, RequestOptions::JSON, $this->withSession); |
| 60 | } | 56 | } |
| 61 | 57 | ||
| 62 | public function asMultipart(): Client | 58 | public function asMultipart(): Client |
| 63 | { | 59 | { |
| 64 | - return new Client( | ||
| 65 | - $this->app, | ||
| 66 | - RequestOptions::MULTIPART, | ||
| 67 | - $this->withSession | ||
| 68 | - ); | 60 | + return new Client($this->app, RequestOptions::MULTIPART, $this->withSession); |
| 69 | } | 61 | } |
| 70 | 62 | ||
| 71 | public function withSession(): Client | 63 | public function withSession(): Client |
| 72 | { | 64 | { |
| 73 | - return new Client( | ||
| 74 | - $this->app, | ||
| 75 | - $this->requestOption, | ||
| 76 | - true | ||
| 77 | - ); | 65 | + return new Client($this->app, $this->requestOption, true); |
| 66 | + } | ||
| 67 | + | ||
| 68 | + public function signVia(SignerInterface $signer): Client | ||
| 69 | + { | ||
| 70 | + $this->signer = $signer; | ||
| 71 | + | ||
| 72 | + return $this; | ||
| 78 | } | 73 | } |
| 79 | 74 | ||
| 80 | public function refresh() | 75 | public function refresh() |
| 81 | { | 76 | { |
| 82 | $this->requestOption = ''; | 77 | $this->requestOption = ''; |
| 83 | - $this->withSession = false; | 78 | + $this->withSession = false; |
| 84 | } | 79 | } |
| 85 | } | 80 | } |
src/Base/Signer/LifeSigner.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace Lackoxygen\TiktokOpen\Base\Signer; | ||
| 4 | + | ||
| 5 | +use Lackoxygen\TiktokOpen\Base\Client\Request; | ||
| 6 | + | ||
| 7 | +class LifeSigner implements SignerInterface | ||
| 8 | +{ | ||
| 9 | + protected Request $request; | ||
| 10 | + | ||
| 11 | + public function setRequest(Request $request) | ||
| 12 | + { | ||
| 13 | + $this->request = $request; | ||
| 14 | + } | ||
| 15 | + | ||
| 16 | + public function make() | ||
| 17 | + { | ||
| 18 | + | ||
| 19 | + } | ||
| 20 | +} |
src/Base/Signer/SignerInterface.php
0 → 100644
src/Wap/Life/Coupon.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace Lackoxygen\TiktokOpen\Wap\Life; | ||
| 4 | + | ||
| 5 | +use Lackoxygen\TiktokOpen\Base\ServiceManager; | ||
| 6 | +use Lackoxygen\TiktokOpen\Base\Signer\LifeSigner; | ||
| 7 | + | ||
| 8 | +class Coupon extends ServiceManager | ||
| 9 | +{ | ||
| 10 | + /** | ||
| 11 | + * 验券准备 | ||
| 12 | + * | ||
| 13 | + * @param string $encryptedData | ||
| 14 | + * @param string $code | ||
| 15 | + * | ||
| 16 | + * @return mixed | ||
| 17 | + */ | ||
| 18 | + public function prepare(string $encryptedData = '', string $code = '') | ||
| 19 | + { | ||
| 20 | + return $this->app['client']->signVia(new LifeSigner()) | ||
| 21 | + ->asForm() | ||
| 22 | + ->post('/goodlife/v1/fulfilment/certificate/prepare/', | ||
| 23 | + ['encrypted_data' => $encryptedData, 'code' => $code]); | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * 验券 | ||
| 28 | + * | ||
| 29 | + * @param array $body | ||
| 30 | + * | ||
| 31 | + * @return mixed | ||
| 32 | + */ | ||
| 33 | + public function verify(array $body = []) | ||
| 34 | + { | ||
| 35 | + return $this->app['client']->signVia(new LifeSigner()) | ||
| 36 | + ->asForm() | ||
| 37 | + ->post('/goodlife/v1/fulfilment/certificate/verify/', $body); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + /** | ||
| 41 | + * 撤销核销 | ||
| 42 | + * | ||
| 43 | + * @link https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/openapi/life-service-open-ability/life.capacity/life.capacity.fulfilment/certificate.verify | ||
| 44 | + * | ||
| 45 | + * @param array $body | ||
| 46 | + * | ||
| 47 | + * @return mixed | ||
| 48 | + */ | ||
| 49 | + public function cancel(array $body = []) | ||
| 50 | + { | ||
| 51 | + return $this->app['client']->signVia(new LifeSigner()) | ||
| 52 | + ->asForm() | ||
| 53 | + ->post('/goodlife/v1/fulfilment/certificate/cancel/', $body); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + /** | ||
| 57 | + * 券状态查询 | ||
| 58 | + * | ||
| 59 | + * @param string $encryptedCode | ||
| 60 | + * | ||
| 61 | + * @return mixed | ||
| 62 | + */ | ||
| 63 | + public function get(string $encryptedCode) | ||
| 64 | + { | ||
| 65 | + return $this->app['client']->signVia(new LifeSigner()) | ||
| 66 | + ->asForm() | ||
| 67 | + ->get('/goodlife/v1/fulfilment/certificate/get/', ['encrypted_code' => $encryptedCode]); | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + /** | ||
| 71 | + * 券状态批量查询 | ||
| 72 | + * | ||
| 73 | + * @param string $encryptedCode | ||
| 74 | + * @param string $orderId | ||
| 75 | + * | ||
| 76 | + * @return mixed | ||
| 77 | + */ | ||
| 78 | + public function query(string $encryptedCode = '', string $orderId = '') | ||
| 79 | + { | ||
| 80 | + return $this->app['client']->signVia(new LifeSigner()) | ||
| 81 | + ->asForm() | ||
| 82 | + ->get('/goodlife/v1/fulfilment/certificate/query/', | ||
| 83 | + ['encrypted_code' => $encryptedCode, 'order_id' => $orderId]); | ||
| 84 | + } | ||
| 85 | +} |
| @@ -4,7 +4,7 @@ namespace Lackoxygen\TiktokOpen\Wap; | @@ -4,7 +4,7 @@ namespace Lackoxygen\TiktokOpen\Wap; | ||
| 4 | 4 | ||
| 5 | use Lackoxygen\TiktokOpen\Base\AbstractProvider; | 5 | use Lackoxygen\TiktokOpen\Base\AbstractProvider; |
| 6 | use Lackoxygen\TiktokOpen\Base\Client\Client; | 6 | use Lackoxygen\TiktokOpen\Base\Client\Client; |
| 7 | -use Lackoxygen\TiktokOpen\Wap\{Data\Data, Js\Js, OAuth\OAuth, User\User, Video\Video}; | 7 | +use Lackoxygen\TiktokOpen\Wap\{Data\Data, Js\Js, Life\Coupon, OAuth\OAuth, User\User, Video\Video}; |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
| 10 | * @method OAuth oauth() | 10 | * @method OAuth oauth() |
| @@ -24,7 +24,8 @@ class WapProvider extends AbstractProvider | @@ -24,7 +24,8 @@ class WapProvider extends AbstractProvider | ||
| 24 | 'user' => User::class, | 24 | 'user' => User::class, |
| 25 | 'video' => Video::class, | 25 | 'video' => Video::class, |
| 26 | 'data' => Data::class, | 26 | 'data' => Data::class, |
| 27 | - 'session' => Session::class | 27 | + 'session' => Session::class, |
| 28 | + 'lifeCoupon' => Coupon::class | ||
| 28 | ]; | 29 | ]; |
| 29 | 30 | ||
| 30 | public function __construct(string $alias) | 31 | public function __construct(string $alias) |
-
请 注册 或 登录 后发表评论