mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-06 10:00:24 +08:00
48 lines
893 B
Go
48 lines
893 B
Go
package dnsclients
|
|
|
|
import "github.com/iwind/TeaGo/maps"
|
|
|
|
type ProviderType = string
|
|
|
|
// 服务商代号
|
|
const (
|
|
ProviderTypeDNSPod ProviderType = "dnspod"
|
|
ProviderTypeAliyun ProviderType = "aliyun"
|
|
ProviderTypeDNSCom ProviderType = "dnscom"
|
|
)
|
|
|
|
// 所有的服务商类型
|
|
var AllProviderTypes = []maps.Map{
|
|
{
|
|
"name": "DNSPod",
|
|
"code": ProviderTypeDNSPod,
|
|
},
|
|
{
|
|
"name": "阿里云",
|
|
"code": ProviderTypeAliyun,
|
|
},
|
|
{
|
|
"name": "帝恩思",
|
|
"code": ProviderTypeDNSCom,
|
|
},
|
|
}
|
|
|
|
// 查找服务商实例
|
|
func FindProvider(providerType ProviderType) ProviderInterface {
|
|
switch providerType {
|
|
case ProviderTypeDNSPod:
|
|
return &DNSPodProvider{}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// 查找服务商名称
|
|
func FindProviderTypeName(providerType ProviderType) string {
|
|
for _, t := range AllProviderTypes {
|
|
if t.GetString("code") == providerType {
|
|
return t.GetString("name")
|
|
}
|
|
}
|
|
return ""
|
|
}
|