DomainRecord.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CatchAdmin [Just Like ~ ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
  8. // +----------------------------------------------------------------------
  9. // | Author: JaguarJack [ njphper@gmail.com ]
  10. // +----------------------------------------------------------------------
  11. namespace catchAdmin\domain\support\driver\qcloud;
  12. use catchAdmin\domain\support\contract\DomainRecordInterface;
  13. use catchAdmin\domain\support\driver\ApiTrait;
  14. use catchAdmin\domain\support\Transformer;
  15. class DomainRecord implements DomainRecordInterface
  16. {
  17. use ApiTrait;
  18. /**
  19. * 列表
  20. *
  21. * @param array $params
  22. * @return mixed
  23. */
  24. public function getList(array $params)
  25. {
  26. $data = [
  27. 'Action' => 'RecordList',
  28. 'domain' => $params['name'],
  29. 'offset' => ($params['page'] ?? 1) - 1,
  30. 'length' => $params['limit'] ?? 10,
  31. ];
  32. if ($params['rr']) {
  33. $data['subDomain'] = $params['rr'];
  34. }
  35. if ($params['type']) {
  36. $data['recordType'] = $params['type'];
  37. }
  38. // TODO: Implement getList() method.
  39. return Transformer::qcloudDomainRecordPaginate($this->get($data), $data['offset'], $data['length']);
  40. }
  41. /**
  42. * 新增解析
  43. *
  44. * @param array $params
  45. * @return array
  46. *
  47. */
  48. public function store(array $params)
  49. {
  50. // TODO: Implement add() method.
  51. return $this->get([
  52. 'Action' => 'RecordCreate',
  53. 'domain' => $params['name'],
  54. 'subDomain' => $params['rr'],
  55. 'recordType' => $params['type'],
  56. 'value' => $params['value'],
  57. 'recordLine' => $params['line'],
  58. 'ttl' => $params['ttl'],
  59. ]);
  60. }
  61. /**
  62. * 删除解析
  63. *
  64. * @param $recordId
  65. * @return array
  66. */
  67. public function delete($recordId)
  68. {
  69. // TODO: Implement delete() method.
  70. return $this->get([
  71. 'Action' => 'RecordDelete',
  72. 'recordId' => $recordId
  73. ]);
  74. }
  75. /**
  76. * 更新解析
  77. *
  78. * @param array $params
  79. * @param $recordId
  80. * @return array
  81. */
  82. public function update($recordId, array $params)
  83. {
  84. // TODO: Implement update() method.
  85. return $this->get([
  86. 'Action' => 'RecordModify',
  87. 'recordId' => $recordId,
  88. 'subDomain' => $params['rr'],
  89. 'recordType' => $params['type'],
  90. 'value' => $params['value'],
  91. 'recordLine' => $params['line'],
  92. 'ttl' => $params['ttl'],
  93. ]);
  94. }
  95. /**
  96. * 设置状态
  97. *
  98. * @param $recordId
  99. * @param $status
  100. * @return array
  101. */
  102. public function enable($recordId, $status)
  103. {
  104. return $this->get([
  105. 'Action' => 'RecordStatus',
  106. 'recordId' => $recordId,
  107. 'Status' => strtolower($status)
  108. ]);
  109. }
  110. public function read(array $params)
  111. {
  112. // TODO: Implement read() method.
  113. }
  114. }