123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /**
- * This file is part of the apiadmin/tiktok.
- */
- namespace App\Libs\TikTok\MiniProgram\QrCode;
- use App\Libs\TikTok\Kernel\BaseClient;
- use App\Libs\TikTok\Kernel\Exceptions\HttpException;
- use App\Libs\TikTok\Kernel\Exceptions\InvalidConfigException;
- use App\Libs\TikTok\Kernel\Http\StreamResponse;
- use App\Libs\TikTok\Kernel\Support\Collection;
- use GuzzleHttp\Exception\GuzzleException;
- use Psr\Http\Message\ResponseInterface;
- /**
- *
- */
- class Client extends BaseClient {
- /**
- * Get QrCode unLimit.【获取抖音小程序码,目前只支持永久码】
- * @param string $appName
- * @param array $optional
- * @return array|Collection|object|ResponseInterface|string
- * @throws GuzzleException
- * @throws HttpException
- * @throws InvalidConfigException
- * @author zhaoxiang <zhaoxiang051405@gmail.com>
- */
- public function getUnLimit(string $appName, array $optional = []) {
- if (!empty($optional['path'])) {
- $optional['path'] = urlencode($optional['path']);
- }
- $params = array_merge([
- 'set_icon' => true,
- 'appname' => $appName
- ], $optional);
- return $this->getStream('apps/qrcode', $params);
- }
- /**
- * Get stream.
- *
- * @param string $endpoint
- * @param array $params
- *
- * @return array|Collection|object|ResponseInterface|string
- *
- * @throws InvalidConfigException
- * @throws GuzzleException|HttpException
- */
- protected function getStream(string $endpoint, array $params) {
- $response = $this->requestRaw($endpoint, 'POST', ['json' => $params]);
- if (false === stripos($response->getHeaderLine('Content-Type'), 'application/json')) {
- return StreamResponse::buildFromPsrResponse($response);
- }
- return $this->castResponseToType($response, $this->app['config']->get('response_type'));
- }
- }
|