dnsmgr/app/lib/DnsHelper.php
coolxitech b92dcedd51 style(DnsHelper): 为 DNS 帮助器配置添加缺失的逗号
- 在多个 DNS 服务提供商的配置中添加了缺失的逗号
- 修复了代码格式不一致的问题,提高了代码的可读性
2024-11-09 12:58:16 +08:00

152 lines
4.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\lib;
use think\facade\Db;
class DnsHelper
{
public static $dns_config = [
'aliyun' => [
'name' => '阿里云',
'config' => [
'ak' => 'AccessKeyId',
'sk' => 'AccessKeySecret',
],
'remark' => 1, //是否支持备注1单独设置备注2和记录一起设置
'status' => true, //是否支持启用暂停
'redirect' => true, //是否支持域名转发
'log' => true, //是否支持查看日志
'weight' => false, //是否支持权重
],
'dnspod' => [
'name' => '腾讯云',
'config' => [
'ak' => 'SecretId',
'sk' => 'SecretKey',
],
'remark' => 1,
'status' => true,
'redirect' => true,
'log' => true,
'weight' => true,
],
'huawei' => [
'name' => '华为云',
'config' => [
'ak' => 'AccessKeyId',
'sk' => 'SecretAccessKey',
],
'remark' => 2,
'status' => true,
'redirect' => false,
'log' => false,
'weight' => true,
],
'baidu' => [
'name' => '百度云',
'config' => [
'ak' => 'AccessKey',
'sk' => 'SecretKey',
],
'remark' => 2,
'status' => false,
'redirect' => false,
'log' => false,
'weight' => false,
],
'west' => [
'name' => '西部数码',
'config' => [
'ak' => '用户名',
'sk' => 'API密码',
],
'remark' => 0,
'status' => true,
'redirect' => false,
'log' => false,
'weight' => false,
],
'huoshan' => [
'name' => '火山引擎',
'config' => [
'ak' => 'AccessKeyId',
'sk' => 'SecretAccessKey',
],
'remark' => 2,
'status' => true,
'redirect' => false,
'log' => false,
'weight' => true,
],
'dnsla' => [
'name' => 'DNSLA',
'config' => [
'ak' => 'APIID',
'sk' => 'API密钥',
],
'remark' => 0,
'status' => true,
'redirect' => true,
'log' => false,
'weight' => true,
],
'cloudflare' => [
'name' => 'Cloudflare',
'config' => [
'ak' => '邮箱地址',
'sk' => 'API密钥/令牌',
],
'remark' => 2,
'status' => false,
'redirect' => false,
'log' => false,
'weight' => false,
],
];
public static function getList()
{
return self::$dns_config;
}
private static function getConfig($aid)
{
$account = Db::name('account')->where('id', $aid)->find();
if (!$account) {
return false;
}
return $account;
}
public static function getModel($aid, $domain = null, $domainid = null): DnsInterface|bool
{
$config = self::getConfig($aid);
if (!$config) {
return false;
}
$dnstype = $config['type'];
$class = "\\app\\lib\\dns\\$dnstype";
if (class_exists($class)) {
$config['domain'] = $domain;
$config['domainid'] = $domainid;
$model = new $class($config);
return $model;
}
return false;
}
public static function getModel2($config)
{
$dnstype = $config['type'];
$class = "\\app\\lib\\dns\\{$dnstype}";
if (class_exists($class)) {
$config['domain'] = $config['name'];
$config['domainid'] = $config['thirdid'];
$model = new $class($config);
return $model;
}
return false;
}
}