12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace App\Libs\TikTok\MiniProgram\Share;
- use App\Libs\TikTok\Kernel\BaseClient;
- class Client extends BaseClient
- {
- /**
- * 该接口用于生成能够直接跳转到端内小程序的 url link
- * 接口有频次限制,每个小程序,100qps,50w 次/自然日。
- *
- * @param string $path
- * @param string $query
- * @param string $appName
- * @return array
- * @throws \App\Libs\TikTok\Kernel\Exceptions\HttpException
- * @throws \App\Libs\TikTok\Kernel\Exceptions\InvalidConfigException
- * @throws \GuzzleHttp\Exception\GuzzleException
- */
- public function generateLink(string $path = '', string $query = '{}', string $appName = 'douyin'): array
- {
- $params = [
- 'ma_app_id' => $this->app['config']['app_id'], // 小程序ID
- 'app_name' => $appName, // 宿主名称,可选 douyin,douyinlite
- 'path' => $path, // 通过URL Link进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
- 'query' => $query, // 通过URL Link进入小程序时的 query(json形式),若无请填{}。最大1024个字符,只支持数字,大小写英文以及部分特殊字符
- 'expire_time' => time() + 180 * 86400 // 到期失效的URL Link的失效时间。为 Unix 时间戳,实际失效时间为距离当前时间小时数,向上取整。最长间隔天数为180天。
- ];
- return $this->httpPostJson('apps/url_link/generate', $params);
- }
- /**
- * 查询已经生成的 link 的信息,过期的 url_link 返回"url_link 不存在"。
- *
- * @param string $urlLink
- * @return array
- * @throws \App\Libs\TikTok\Kernel\Exceptions\HttpException
- * @throws \App\Libs\TikTok\Kernel\Exceptions\InvalidConfigException
- * @throws \GuzzleHttp\Exception\GuzzleException
- */
- public function getQueryInfo($urlLink='') {
- $params = [
- 'ma_app_id' => $this->app['config']['app_id'], // 小程序ID
- 'url_link' => $urlLink
- ];
- return $this->httpPostJson('apps/url_link/query_info', $params);
- }
- /**
- * 获取小程序/小游戏的二维码。该二维码可通过任意 app 扫码打开,能跳转到开发者指定的对应字节系 app 内拉起小程序/小游戏, 并传入开发者指定的参数。通过该接口生成的二维码,永久有效,暂无数量限制。
- *
- * @param string $path
- * @param string $query
- * @param string $appName
- * @return array
- * @throws \App\Libs\TikTok\Kernel\Exceptions\HttpException
- * @throws \App\Libs\TikTok\Kernel\Exceptions\InvalidConfigException
- * @throws \GuzzleHttp\Exception\GuzzleException
- */
- public function createQRCode(string $path = '', string $query = '{}', string $appName = 'douyin') {
- $params = [
- 'ma_app_id' => $this->app['config']['app_id'], // 小程序ID
- 'app_name' => $appName,
- 'path' => $path,
- ];
- return $this->httpPostJson('apps/qrcode', $params);
- }
- }
|