123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777 |
- <?php
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- namespace service;
- use think\Log;
- use think\Request;
- use think\Url;
- use behavior\wechat\PaymentBehavior;
- use service\HookService;
- use service\SystemConfigService;
- use OSS\OssClient;
- use OSS\Core\OssException;
- use OSS\Model\RefererConfig;
- use OSS\Model\CorsConfig;
- use OSS\Model\CorsRule;
- use AlibabaCloud\Client\AlibabaCloud;
- use AlibabaCloud\Client\Exception\ClientException;
- use AlibabaCloud\Client\Exception\ServerException;
- class AlipayDisposeService
- {
- protected static $AccessKeyId=''; //阿里云AccessKeyId
- protected static $accessKeySecret=''; //阿里云AccessKeySecret
- /**
- * 初始化
- */
- final static function init()
- {
- self::$AccessKeyId=SystemConfigService::get('accessKeyId');//阿里云AccessKeyId
- self::$accessKeySecret=SystemConfigService::get('accessKeySecret');//阿里云AccessKeySecret
- if(self::$AccessKeyId=='' || self::$accessKeySecret=='')return exception('阿里云AccessKeyId或阿里云AccessKeySecret没有配置');
- }
- //对象存储OSS
- /**
- * 创建存储空间
- * @param string $endpoint
- * @param string $bucket
- * @param int $jurisdiction 1:私有 2:公共读 3:公共读写
- * @param int $type 1:标准储存 2:低频访问储存 3:归档储存
- */
- public static function ossDispose($endpoint='',$bucket='',$jurisdiction= 1,$type=1)
- {
- self::init();
- try {
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- //检测存储空间是否存在
- $res = $ossClient->doesBucketExist($bucket);
- if($res) return false;
- switch ($type){
- case 1:
- $storage= OssClient::OSS_STORAGE_STANDARD;
- break;
- case 2:
- $storage= OssClient::OSS_STORAGE_IA;
- break;
- case 3:
- $storage= OssClient::OSS_STORAGE_ARCHIVE;
- break;
- }
- // 设置存储空间的存储类型为低频访问类型,默认是标准类型。
- $options = array(
- OssClient::OSS_STORAGE => $storage
- );
- switch ($jurisdiction){
- case 1:
- $jurisdictions= OssClient::OSS_ACL_TYPE_PRIVATE;
- break;
- case 2:
- $jurisdictions= OssClient::OSS_ACL_TYPE_PUBLIC_READ;
- break;
- case 3:
- $jurisdictions= OssClient::OSS_ACL_TYPE_PUBLIC_READ_WRITE;
- break;
- }
- // 设置存储空间的权限为公共读,默认是私有读写。
- $res=$ossClient->createBucket($bucket, $jurisdictions, $options);
- } catch (OssException $e) {
- return $e->getMessage();
- }
- return $res;
- }
- /**
- * 列举存储空间
- * @param string $endpoint
- */
- public static function ossBucketList($endpoint)
- {
- self::init();
- try{
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $bucketListInfo = $ossClient->listBuckets();
- } catch(OssException $e) {
- return $e->getMessage();
- }
- $bucketList = $bucketListInfo->getBucketList();
- return $bucketList;
- }
- /**
- * 删除存储空间
- * @param string $endpoint
- * @param string $bucket
- */
- public static function deleteBucket($endpoint='',$bucket='')
- {
- self::init();
- try {
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $res = $ossClient->deleteBucket($bucket);
- } catch (OssException $e) {
- return $e->getMessage();
- }
- return $res;
- }
- /**
- *判断存储空间是否存在
- * @param string $endpoint
- * @param string $bucket
- */
- public static function doesBucketExist($endpoint='',$bucket='')
- {
- self::init();
- try {
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $res = $ossClient->doesBucketExist($bucket);
- } catch (OssException $e) {
- return $e->getMessage();
- }
- return $res;
- }
- /**
- * 设置防盗链
- * @param string $endpoint
- * @param string $bucket
- */
- public static function bucketReferer($endpoint='',$bucket='')
- {
- self::init();
- $refererConfig = new RefererConfig();
- // 设置允许空Referer。
- $refererConfig->setAllowEmptyReferer(true);
- // 添加Referer白名单。Referer参数支持通配符星号(*)和问号(?)。
- //$refererConfig->addReferer("www.aliiyun.com");
- //$refererConfig->addReferer("www.aliiyuncs.com");
- try{
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $res=$ossClient->putBucketReferer($bucket, $refererConfig);
- } catch(OssException $e) {
- return $e->getMessage();
- }
- return $res;
- }
- /**跨域规则设置
- * @throws OssException
- * @param string $endpoint
- * @param string $bucket
- */
- public static function putBucketCors($endpoint='',$bucket='')
- {
- $corsConfig = new CorsConfig();
- $rule = new CorsRule();
- // AllowedHeaders和ExposeHeaders不支持通配符。
- $rule->addAllowedHeader("*");
- // AllowedOlowedMethods最多支持一个星号(*)通配符。星号(*)表示允许所有的域来源或者操作。
- $rule->addAllowedOrigin("*");
- $rule->addAllowedMethod("GET");
- $rule->addAllowedMethod("POST");
- $rule->addAllowedMethod("PUT");
- $rule->addAllowedMethod("DELETE");
- $rule->addAllowedMethod("HEAD");
- $rule->setMaxAgeSeconds(600);
- // 每个存储空间最多允许10条规则。
- $corsConfig->addRule($rule);
- self::init();
- try{
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- // 已存在的规则将被覆盖。
- $res=$ossClient->putBucketCors($bucket, $corsConfig);
- } catch(OssException $e) {
- return $e->getMessage();
- }
- return $res;
- }
- /**获取跨域规则
- * @throws OssException
- * @param string $endpoint
- * @param string $bucket
- */
- public static function getCrossDomainRules($endpoint='',$bucket='')
- {
- self::init();
- $corsConfig = null;
- try{
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $corsConfig = $ossClient->getBucketCors($bucket);
- } catch(OssException $e) {
- printf(__FUNCTION__ . ": FAILED\n");
- printf($e->getMessage() . "\n");
- return;
- }
- print(__FUNCTION__ . ": OK" . "\n");
- print($corsConfig->serializeToXml() . "\n");
- }
- /**
- * 获取存储空间的地域
- * @param string $endpoint
- * @param string $bucket
- */
- public static function ossRegion($endpoint='',$bucket=''){
- self::init();
- try {
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $Regions = $ossClient->getBucketLocation($bucket);
- } catch (OssException $e) {
- return $e->getMessage();
- }
- return $Regions;
- }
- /**
- * 获取存储空间元信息
- * @param string $endpoint
- * @param string $bucket
- */
- public static function ossMetas($endpoint='',$bucket=''){
- self::init();
- try {
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- $Metas = $ossClient->getBucketMeta($bucket);
- } catch (OssException $e) {
- return $e->getMessage();
- }
- return $Metas['oss-requestheaders'];
- }
- /**获取文件元信息
- * @param string $endpoint
- * @param string $bucket
- * @param string $ObjectName
- */
- public static function getFileMetaInformation($endpoint='',$bucket='',$ObjectName='')
- {
- self::init();
- try {
- $ossClient = new OssClient(self::$AccessKeyId, self::$accessKeySecret, $endpoint);
- // 获取文件的全部元信息。
- $objectMeta = $ossClient->getObjectMeta($bucket, $ObjectName);
- return $objectMeta;
- } catch (OssException $e) {
- return $e->getMessage();
- }
- }
- //视频直播配置
- /**
- * 添加直播域名
- * @param string $domainName
- * @param string $type
- */
- public static function addLiveDomain($data)
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($data['region'])
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('AddLiveDomain')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $data['region'],
- 'LiveDomainType' => $data['live_domain_type'],
- 'DomainName' => $data['domain_name'],
- 'Region' => $data['region'],
- 'Scope' => $data['scope'],
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**删除已添加的直播域名
- * @param $domainName
- */
- public static function deleteLiveDomains($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DeleteLiveDomain')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName' => $domainName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**查询直播域名配置信息
- * @param string $domainName
- * @param string $regionId
- */
- public static function describeLiveDomainDetails($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DescribeLiveDomainDetail')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName' => $domainName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**域名停用
- * @param string $domainName
- * @param string $regionId
- */
- public static function stopLiveDomains($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('StopLiveDomain')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName'=>$domainName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**域名启用
- * @param string $domainName
- * @param string $regionId
- */
- public static function startLiveDomains($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('StartLiveDomain')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName'=>$domainName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**添加直播域名播流域名和推流域名的映射关系配置
- * @param string $PullDomain 播流域名
- * @param string $PushDomain 推流域名
- * @param string $regionId
- */
- public static function addLiveDomainMappings($PullDomain='',$PushDomain='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('AddLiveDomainMapping')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'PullDomain'=>$PullDomain,
- 'PushDomain'=>$PushDomain,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**删除直播域名播流域名和推流域名的映射关系配置
- * @param string $PullDomain 播流域名
- * @param string $PushDomain 推流域名
- * @param string $regionId
- */
- public static function deleteLiveDomainMappings($PullDomain='',$PushDomain='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DeleteLiveDomainMapping')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'PullDomain'=>$PullDomain,
- 'PushDomain'=>$PushDomain,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**设置推流回调配置
- * @param string $domainName
- * @param string $regionId
- * @param string $NotifyUrl
- */
- public static function setLiveStreamsNotifyUrlConfigs($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- $site_url=SystemConfigService::get('site_url');
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('SetLiveStreamsNotifyUrlConfig')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName'=>$domainName,
- 'NotifyUrl'=>$site_url.'/live/index/serve',
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**查看推流回调配置
- * @param string $domainName
- * @param string $regionId
- * @param string $NotifyUrl
- */
- public static function describeLiveStreamsNotifyUrlConfig($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DescribeLiveStreamsNotifyUrlConfig')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName'=>$domainName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**删除推流回调配置
- * @param string $domainName
- * @param string $regionId
- */
- public static function deleteLiveStreamsNotifyUrlConfigs($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DeleteLiveStreamsNotifyUrlConfig')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName'=>$domainName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**调用AddLiveAppRecordConfig配置APP录制,输出内容保存到OSS中
- * @param string $domainName
- * @param string $regionId
- * @param string $StreamName
- * @param string $AppName
- * @param string $OssBucket
- * @param string $OssEndpoint
- * @param string $format 视频格式
- * @param string $duration 录制时长
- */
- public static function addLiveAppRecordConfigs($domainName='',$regionId='',$AppName='',$StreamName='',$OssBucket='',$OssEndpoint='',$format='',$duration='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- if($format=='m3u8'){
- $query=[
- 'RegionId' => $regionId,
- 'StreamName' => $StreamName,
- 'AppName' => $AppName,
- 'DomainName' => $domainName,
- 'OssBucket' => $OssBucket,
- 'OssEndpoint' => $OssEndpoint,
- 'RecordFormat.1.Format' => "m3u8",
- 'RecordFormat.1.OssObjectPrefix' => "record/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}",
- 'RecordFormat.1.SliceOssObjectPrefix' => "record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}",
- 'RecordFormat.1.CycleDuration' => bcmul($duration,60,0),
- ];
- }else if($format=='mp4'){
- $query=[
- 'RegionId' => $regionId,
- 'StreamName' => $StreamName,
- 'AppName' => $AppName,
- 'DomainName' => $domainName,
- 'OssBucket' => $OssBucket,
- 'OssEndpoint' => $OssEndpoint,
- 'RecordFormat.1.Format' => "mp4",
- 'RecordFormat.1.OssObjectPrefix' => "record/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}",
- 'RecordFormat.1.CycleDuration' => bcmul($duration,60,0),
- ];
- }else{
- $query=[
- 'RegionId' => $regionId,
- 'StreamName' => $StreamName,
- 'AppName' => $AppName,
- 'DomainName' => $domainName,
- 'OssBucket' => $OssBucket,
- 'OssEndpoint' => $OssEndpoint,
- 'RecordFormat.1.Format' => "flv",
- 'RecordFormat.1.OssObjectPrefix' => "record/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}",
- 'RecordFormat.1.CycleDuration' => bcmul($duration,60,0),
- ];
- }
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('AddLiveAppRecordConfig')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => $query,
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**解除录制配置
- * @param string $domainName
- * @param string $regionId
- * @param string $AppName
- * @param string $StreamName
- */
- public static function deleteLiveAppRecordConfigs($domainName='',$regionId='',$AppName='',$StreamName='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DeleteLiveAppRecordConfig')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'AppName' => $AppName,
- 'DomainName' => $domainName,
- 'StreamName' => $StreamName,
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**配置域名
- * @param string $domainName
- * @param string $regionId
- */
- public static function batchSetLiveDomainConfigs($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- $site_url=SystemConfigService::get('site_url');
- $url=parse_url($site_url)['host'];
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('BatchSetLiveDomainConfigs')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainNames' => $domainName,
- 'Functions' => "[{'functionArgs':[{'argName':'key','argValue':'Access-Control-Allow-Origin'},{'argName':'value','argValue':'*'}],'functionName':'set_resp_header'},
- {'functionArgs':[{'argName':'refer_domain_allow_list','argValue':'$url'},{'argName':'allow_empty','argValue':'on'}],'functionName':'referer_white_list_set'}
- ]",
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- /**查询直播域名配置key
- * @param string $domainName
- * @param string $regionId
- */
- public static function describeLiveDomainConfigs($domainName='',$regionId='')
- {
- self::init();
- AlibabaCloud::accessKeyClient(self::$AccessKeyId, self::$accessKeySecret)
- ->regionId($regionId)
- ->asDefaultClient();
- try {
- $result = AlibabaCloud::rpc()
- ->product('live')
- ->version('2016-11-01')
- ->action('DescribeLiveDomainConfigs')
- ->method('POST')
- ->host('live.aliyuncs.com')
- ->options([
- 'query' => [
- 'RegionId' => $regionId,
- 'DomainName' => $domainName,
- 'FunctionNames'=>'aliauth'
- ],
- ])
- ->request();
- return $result->toArray();
- } catch (ClientException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- } catch (ServerException $e) {
- return $e->getErrorMessage() . PHP_EOL;
- }
- }
- }
|