add:域名管理
This commit is contained in:
@@ -19,7 +19,14 @@ trait ApiTrait
|
||||
{
|
||||
$name = config('catch.domains.default');
|
||||
|
||||
return Http::query(CommonParams::{$name}($params))
|
||||
->get(config('catch.domains.' . $name . '.api_domain'))->json();
|
||||
$apiDomain = config('catch.domains.' . $name . '.api_domain');
|
||||
|
||||
if (strpos($apiDomain, 'https') === false &&
|
||||
strpos($apiDomain, 'http') === false) {
|
||||
$apiDomain = 'https://' . $apiDomain . '/v2/index.php';
|
||||
}
|
||||
|
||||
return Http::ignoreSsl()->query(CommonParams::{$name}($params))
|
||||
->get($apiDomain)->json();
|
||||
}
|
||||
}
|
@@ -44,12 +44,12 @@ class Domain implements DomainActionInterface
|
||||
]);
|
||||
}
|
||||
|
||||
public function read(array $params)
|
||||
public function read($name)
|
||||
{
|
||||
// TODO: Implement info() method.
|
||||
return $this->get([
|
||||
'Action' => 'DescribeDomainInfo',
|
||||
'DomainName' => $params['name']
|
||||
'DomainName' => $name
|
||||
]);
|
||||
}
|
||||
}
|
@@ -12,44 +12,93 @@ namespace catchAdmin\domain\support\driver\aliyun;
|
||||
|
||||
use catchAdmin\domain\support\contract\DomainRecordInterface;
|
||||
use catchAdmin\domain\support\driver\ApiTrait;
|
||||
use catchAdmin\domain\support\Transformer;
|
||||
|
||||
class DomainRecord implements DomainRecordInterface
|
||||
{
|
||||
use ApiTrait;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*
|
||||
* @param array $params
|
||||
* @return mixed
|
||||
*/
|
||||
public function getList(array $params)
|
||||
{
|
||||
// TODO: Implement getList() method.
|
||||
return $this->get([
|
||||
$data = [
|
||||
'Action' => 'DescribeDomainRecords',
|
||||
'DomainName' => $params['name'],
|
||||
'PageNumber' => $params['page'] ?? 1,
|
||||
'PageSize' => $params['limit'] ?? 20,
|
||||
''
|
||||
]);
|
||||
];
|
||||
|
||||
if ($params['rr']) {
|
||||
$data['RRKeyWord'] = $params['rr'];
|
||||
}
|
||||
|
||||
if ($params['type']) {
|
||||
$data['TypeKeyWord'] = $params['type'];
|
||||
}
|
||||
|
||||
if ($params['value']) {
|
||||
$data['ValueKeyWord'] = $params['value'];
|
||||
}
|
||||
|
||||
if ($params['line']) {
|
||||
$data['Line'] = $params['line'];
|
||||
}
|
||||
|
||||
if ($params['status']) {
|
||||
$data['Status'] = $params['status'];
|
||||
}
|
||||
|
||||
// TODO: Implement getList() method.
|
||||
return Transformer::aliyunDomainRecordPaginate($this->get($data));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增解析
|
||||
*
|
||||
* @param array $params
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
public function store(array $params)
|
||||
{
|
||||
// TODO: Implement add() method.
|
||||
return $this->get([
|
||||
'Action' => 'AddDomainRecord',
|
||||
'DomainName' => $params['name'],
|
||||
'RR' => $params['record'],
|
||||
'RR' => $params['rr'],
|
||||
'Type' => $params['type'],
|
||||
'Value' => $params['ip']
|
||||
'Value' => $params['value'],
|
||||
'Line' => $params['line'],
|
||||
'TTL' => $params['ttl'],
|
||||
]);
|
||||
}
|
||||
|
||||
public function delete(array $params)
|
||||
/**
|
||||
* 删除解析
|
||||
*
|
||||
* @param $recordId
|
||||
* @return array
|
||||
*/
|
||||
public function delete($recordId)
|
||||
{
|
||||
// TODO: Implement delete() method.
|
||||
return $this->get([
|
||||
'Action' => 'DeleteDomainRecord',
|
||||
'RecordId' => $params['record_id']
|
||||
'RecordId' => $recordId
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取解析记录
|
||||
*
|
||||
* @param array $params
|
||||
* @return array
|
||||
*/
|
||||
public function read(array $params)
|
||||
{
|
||||
// TODO: Implement info() method.
|
||||
@@ -59,15 +108,40 @@ class DomainRecord implements DomainRecordInterface
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(array $params)
|
||||
/**
|
||||
* 更新解析
|
||||
*
|
||||
* @param array $params
|
||||
* @param $recordId
|
||||
* @return array
|
||||
*/
|
||||
public function update($recordId, array $params)
|
||||
{
|
||||
// TODO: Implement update() method.
|
||||
return $this->get([
|
||||
'Action' => 'UpdateDomainRecord',
|
||||
'RecordId' => $params['record_id'],
|
||||
'RR' => $params['record'],
|
||||
'RecordId' => $recordId,
|
||||
'RR' => $params['rr'],
|
||||
'Type' => $params['type'],
|
||||
'Value' => $params['ip']
|
||||
'Value' => $params['value'],
|
||||
'Line' => $params['line'],
|
||||
'TTL' => $params['ttl'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置状态
|
||||
*
|
||||
* @param $recordId
|
||||
* @param $status
|
||||
* @return array
|
||||
*/
|
||||
public function enable($recordId, $status)
|
||||
{
|
||||
return $this->get([
|
||||
'Action' => 'SetDomainRecordStatus',
|
||||
'RecordId' => $recordId,
|
||||
'Status' => ucfirst(strtolower($status))
|
||||
]);
|
||||
}
|
||||
}
|
56
catch/domain/support/driver/qcloud/Domain.php
Normal file
56
catch/domain/support/driver/qcloud/Domain.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CatchAdmin [Just Like ~ ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: JaguarJack [ njphper@gmail.com ]
|
||||
// +----------------------------------------------------------------------
|
||||
namespace catchAdmin\domain\support\driver\qcloud;
|
||||
|
||||
use catchAdmin\domain\support\contract\DomainActionInterface;
|
||||
use catchAdmin\domain\support\driver\ApiTrait;
|
||||
use catchAdmin\domain\support\Transformer;
|
||||
|
||||
class Domain implements DomainActionInterface
|
||||
{
|
||||
use ApiTrait;
|
||||
|
||||
public function getList(array $params)
|
||||
{
|
||||
$offset = ($params['page'] ?? 1) - 1;
|
||||
$length = $params['limit'] ?? 10;
|
||||
|
||||
// TODO: Implement getList() method.
|
||||
return Transformer::qcloudDomainPaginate($this->get([
|
||||
'Action' => 'DomainList',
|
||||
'offset' => $offset,
|
||||
'length' => $length
|
||||
]), $offset, $length);
|
||||
}
|
||||
|
||||
public function store(array $params)
|
||||
{
|
||||
// TODO: Implement add() method.
|
||||
}
|
||||
|
||||
public function delete(array $params)
|
||||
{
|
||||
// TODO: Implement delete() method.
|
||||
return $this->get([
|
||||
'Action' => 'DeleteDomain',
|
||||
'DomainName' => $params['name'],
|
||||
]);
|
||||
}
|
||||
|
||||
public function read($name)
|
||||
{
|
||||
// TODO: Implement info() method.
|
||||
return $this->get([
|
||||
'Action' => 'DescribeDomainInfo',
|
||||
'DomainName' => $name
|
||||
]);
|
||||
}
|
||||
}
|
125
catch/domain/support/driver/qcloud/DomainRecord.php
Normal file
125
catch/domain/support/driver/qcloud/DomainRecord.php
Normal file
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CatchAdmin [Just Like ~ ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: JaguarJack [ njphper@gmail.com ]
|
||||
// +----------------------------------------------------------------------
|
||||
namespace catchAdmin\domain\support\driver\qcloud;
|
||||
|
||||
use catchAdmin\domain\support\contract\DomainRecordInterface;
|
||||
use catchAdmin\domain\support\driver\ApiTrait;
|
||||
use catchAdmin\domain\support\Transformer;
|
||||
|
||||
class DomainRecord implements DomainRecordInterface
|
||||
{
|
||||
use ApiTrait;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*
|
||||
* @param array $params
|
||||
* @return mixed
|
||||
*/
|
||||
public function getList(array $params)
|
||||
{
|
||||
$data = [
|
||||
'Action' => 'RecordList',
|
||||
'domain' => $params['name'],
|
||||
'offset' => ($params['page'] ?? 1) - 1,
|
||||
'length' => $params['limit'] ?? 10,
|
||||
];
|
||||
|
||||
if ($params['rr']) {
|
||||
$data['subDomain'] = $params['rr'];
|
||||
}
|
||||
|
||||
if ($params['type']) {
|
||||
$data['recordType'] = $params['type'];
|
||||
}
|
||||
|
||||
// TODO: Implement getList() method.
|
||||
return Transformer::qcloudDomainRecordPaginate($this->get($data), $data['offset'], $data['length']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增解析
|
||||
*
|
||||
* @param array $params
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
public function store(array $params)
|
||||
{
|
||||
// TODO: Implement add() method.
|
||||
return $this->get([
|
||||
'Action' => 'RecordCreate',
|
||||
'domain' => $params['name'],
|
||||
'subDomain' => $params['rr'],
|
||||
'recordType' => $params['type'],
|
||||
'value' => $params['value'],
|
||||
'recordLine' => $params['line'],
|
||||
'ttl' => $params['ttl'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除解析
|
||||
*
|
||||
* @param $recordId
|
||||
* @return array
|
||||
*/
|
||||
public function delete($recordId)
|
||||
{
|
||||
// TODO: Implement delete() method.
|
||||
return $this->get([
|
||||
'Action' => 'RecordDelete',
|
||||
'recordId' => $recordId
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新解析
|
||||
*
|
||||
* @param array $params
|
||||
* @param $recordId
|
||||
* @return array
|
||||
*/
|
||||
public function update($recordId, array $params)
|
||||
{
|
||||
// TODO: Implement update() method.
|
||||
return $this->get([
|
||||
'Action' => 'RecordModify',
|
||||
'recordId' => $recordId,
|
||||
'subDomain' => $params['rr'],
|
||||
'recordType' => $params['type'],
|
||||
'value' => $params['value'],
|
||||
'recordLine' => $params['line'],
|
||||
'ttl' => $params['ttl'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置状态
|
||||
*
|
||||
* @param $recordId
|
||||
* @param $status
|
||||
* @return array
|
||||
*/
|
||||
public function enable($recordId, $status)
|
||||
{
|
||||
return $this->get([
|
||||
'Action' => 'RecordStatus',
|
||||
'recordId' => $recordId,
|
||||
'Status' => strtolower($status)
|
||||
]);
|
||||
}
|
||||
|
||||
public function read(array $params)
|
||||
{
|
||||
// TODO: Implement read() method.
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user