1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- /**
- * Author: luzheng.liu
- * Time: 2020/12/6 17:25
- */
- namespace app\common\service;
- use app\index\exception\ApiException;
- use GuzzleHttp\Client;
- use GuzzleHttp\Exception\RequestException;
- use think\Exception;
- class SettingService {
- const TOKEN = 'Bearer a1aw1av25bk1usqjv7r84mw9knpv3sma';
- const BASE_URL = 'http://api.webcasting.bizconfstreaming.com/';
- public function verifyChannelName(int $channelId, string $channelName) {
- $client = new Client();
- $res = $client->request('GET', self::BASE_URL . 'v1/activities/' . $channelId, [
- 'headers' => [
- 'Authorization' => self::TOKEN
- ]
- ]);
- $info = json_decode((string)$res->getBody(), true);
- if ($channelName !== $info['name']) {
- throw new ApiException("频道名称不一致,频道{$channelId}名称为 " . $info['name']);
- }
- }
- public function setAuthUrl(int $channelId, string $redirectUrl) {
- // $client = new Client();
- // $res =$client->request('Post', self::BASE_URL.'v1/activities/'.$channelId.'/setAuth', [
- // 'headers' => [
- // 'Authorization' => self::TOKEN
- // ],
- // 'json' => [
- // 'method' => 'CUSTOM_VERIFY',
- // 'redirect_url' => $redirectUrl
- // ]
- // ]);
- $curl = curl_init();
- $data = [
- 'method' => 'CUSTOM_VERIFY',
- 'redirect_url' => $redirectUrl
- ];
- $headers = [
- 'Authorization' => self::TOKEN,
- 'Content-Type' => 'application/json'
- ];
- $data = json_encode($data);
- $headers = json_encode($headers);
- curl_setopt_array($curl, [
- CURLOPT_URL => 'http://api.mudu.tv/v1/activities/' . $channelId . '/setAuth',
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_ENCODING => '',
- CURLOPT_MAXREDIRS => 10,
- CURLOPT_TIMEOUT => 0,
- CURLOPT_FOLLOWLOCATION => true,
- CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
- CURLOPT_CUSTOMREQUEST => 'POST',
- CURLOPT_POSTFIELDS => $data,
- CURLOPT_HTTPHEADER => [
- "Authorization: ".self::TOKEN,
- 'Content-Type: application/json',
- ],
- ]);
- $response = curl_exec($curl);
- curl_close($curl);
- $info = json_decode($response, true);
- if ($info['status'] !== 'y') {
- throw new ApiException("设置自定义授权url失败--" . (string)$response);
- }
- }
- public function getAuthCode(int $channelId) {
- $client = new Client();
- $res = $client->request('Post', self::BASE_URL . 'v1/activities/' . $channelId . '/getAuthKey', [
- 'headers' => [
- 'Authorization' => self::TOKEN
- ]
- ]);
- $info = json_decode((string)$res->getBody(), true);
- if (empty($info)) {
- throw new ApiException($info['message']);
- }
- return $info['authkey'];
- }
- }
|