catchAdmin/catch/domain/support/Transformer.php

112 lines
3.4 KiB
PHP
Raw Normal View History

2020-09-26 15:10:41 +08:00
<?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;
use think\Paginator;
class Transformer
{
2020-09-28 09:55:30 +08:00
/**
* 分页展示
*
* @param array $data
* @return mixed
*/
public static function aliyunDomainPaginate(array $data)
2020-09-26 15:10:41 +08:00
{
$list = [];
foreach ($data['Domains']['Domain'] as $item) {
$list[] = [
'name' => $item['DomainName'],
'created_at' => date('Y-m-d', $item['CreateTimestamp']/1000),
'dns_server' => $item['DnsServers']['DnsServer'],
'from' => $item['VersionName'],
2020-09-28 09:55:30 +08:00
'free' => $item['VersionCode'] === 'mianfei',
2020-09-26 15:10:41 +08:00
'record_count' => $item['RecordCount'],
'tags' => $item['Tags']['Tag'],
'id' => $item['DomainId']
];
}
2020-09-28 09:55:30 +08:00
2020-09-26 15:10:41 +08:00
return Paginator::make($list, $data['PageSize'], $data['PageNumber'], $data['TotalCount']);
}
2020-09-28 09:55:30 +08:00
/**
* 腾讯云域名列表
*
* @param array $data
* @param $page
* @param $limit
* @return Paginator|\think\paginator\driver\Bootstrap
*/
public static function qcloudDomainPaginate(array $data, $page, $limit)
2020-09-26 15:10:41 +08:00
{
2020-09-28 09:55:30 +08:00
$info = $data['data']['info'];
$domains = $data['data']['domains'];
2020-09-26 15:10:41 +08:00
$list = [];
2020-09-28 09:55:30 +08:00
foreach ($domains as $item) {
2020-09-26 15:10:41 +08:00
$list[] = [
2020-09-28 09:55:30 +08:00
'name' => $item['name'],
'created_at' => $item['created_on'],
'dns_server' => [],
'from' => 'qcloud',
'free' => $item['grade'] === 'DP_Free',
'record_count' => $item['records'],
'tags' => [],
'id' => $item['id']
2020-09-26 15:10:41 +08:00
];
}
2020-09-28 09:55:30 +08:00
return Paginator::make($list, $limit, $page + 1,$info['domain_total']);
}
/**
* 阿里云域名解析
*
* @param array $data
* @return mixed
*/
public static function aliyunDomainRecordPaginate(array $data)
{
$list = [];
foreach ($data['DomainRecords']['Record'] as &$item) {
$list[] = array_change_key_case($item);
}
2020-09-26 15:10:41 +08:00
return Paginator::make($list, $data['PageSize'], $data['PageNumber'], $data['TotalCount']);
}
2020-09-28 09:55:30 +08:00
/**
* DNS 记录
*
* @param array $data
* @param $page
* @param $limit
* @return Paginator|\think\paginator\driver\Bootstrap
*/
public static function qcloudDomainRecordPaginate(array $data, $page, $limit)
{
$list = [];
foreach ($data['data']['records'] as &$item) {
$item['status'] = $item['status'] === 'enabled' ? 'ENABLE' : 'DISABLE';
$item['rr'] = $item['name'];
$item['recordid'] = $item['id'];
$list[] = array_change_key_case($item);
}
return Paginator::make($list, $limit, $page + 1, $data['data']['info']['record_total']);
}
2020-09-26 15:10:41 +08:00
}