mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-04 21:50:28 +08:00
实现在域名解析中使用EdgeDNS
This commit is contained in:
@@ -29,6 +29,7 @@ func (this *CreatePopupAction) RunGet(params struct{}) {
|
|||||||
typeMaps = append(typeMaps, maps.Map{
|
typeMaps = append(typeMaps, maps.Map{
|
||||||
"name": t.Name,
|
"name": t.Name,
|
||||||
"code": t.Code,
|
"code": t.Code,
|
||||||
|
"description": t.Description,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.Data["types"] = typeMaps
|
this.Data["types"] = typeMaps
|
||||||
@@ -36,6 +37,21 @@ func (this *CreatePopupAction) RunGet(params struct{}) {
|
|||||||
// 自动生成CustomHTTP私钥
|
// 自动生成CustomHTTP私钥
|
||||||
this.Data["paramCustomHTTPSecret"] = rands.HexString(32)
|
this.Data["paramCustomHTTPSecret"] = rands.HexString(32)
|
||||||
|
|
||||||
|
// EdgeDNS集群列表
|
||||||
|
nsClustersResp, err := this.RPC().NSClusterRPC().FindAllEnabledNSClusters(this.AdminContext(), &pb.FindAllEnabledNSClustersRequest{})
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
nsClusterMaps := []maps.Map{}
|
||||||
|
for _, nsCluster := range nsClustersResp.NsClusters {
|
||||||
|
nsClusterMaps = append(nsClusterMaps, maps.Map{
|
||||||
|
"id": nsCluster.Id,
|
||||||
|
"name": nsCluster.Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.Data["nsClusters"] = nsClusterMaps
|
||||||
|
|
||||||
this.Show()
|
this.Show()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,6 +75,9 @@ func (this *CreatePopupAction) RunPost(params struct {
|
|||||||
CloudFlareAPIKey string
|
CloudFlareAPIKey string
|
||||||
CloudFlareEmail string
|
CloudFlareEmail string
|
||||||
|
|
||||||
|
// Local EdgeDNS
|
||||||
|
ParamLocalEdgeDNSClusterId int64
|
||||||
|
|
||||||
// CustomHTTP
|
// CustomHTTP
|
||||||
ParamCustomHTTPURL string
|
ParamCustomHTTPURL string
|
||||||
ParamCustomHTTPSecret string
|
ParamCustomHTTPSecret string
|
||||||
@@ -109,6 +128,11 @@ func (this *CreatePopupAction) RunPost(params struct {
|
|||||||
Email("请输入正确格式的邮箱地址")
|
Email("请输入正确格式的邮箱地址")
|
||||||
apiParams["apiKey"] = params.CloudFlareAPIKey
|
apiParams["apiKey"] = params.CloudFlareAPIKey
|
||||||
apiParams["email"] = params.CloudFlareEmail
|
apiParams["email"] = params.CloudFlareEmail
|
||||||
|
case "localEdgeDNS":
|
||||||
|
params.Must.
|
||||||
|
Field("ParamLocalEdgeDNSClusterId", params.ParamLocalEdgeDNSClusterId).
|
||||||
|
Gt(0, "请选择域名服务集群")
|
||||||
|
apiParams["clusterId"] = params.ParamLocalEdgeDNSClusterId
|
||||||
case "customHTTP":
|
case "customHTTP":
|
||||||
params.Must.
|
params.Must.
|
||||||
Field("paramCustomHTTPURL", params.ParamCustomHTTPURL).
|
Field("paramCustomHTTPURL", params.ParamCustomHTTPURL).
|
||||||
|
|||||||
@@ -39,12 +39,31 @@ func (this *ProviderAction) RunGet(params struct {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 本地EdgeDNS相关
|
||||||
|
var localEdgeDNSMap = maps.Map{}
|
||||||
|
if provider.Type == "localEdgeDNS" {
|
||||||
|
nsClusterId := apiParams.GetInt64("clusterId")
|
||||||
|
nsClusterResp, err := this.RPC().NSClusterRPC().FindEnabledNSCluster(this.AdminContext(), &pb.FindEnabledNSClusterRequest{NsClusterId: nsClusterId})
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
nsCluster := nsClusterResp.NsCluster
|
||||||
|
if nsCluster != nil {
|
||||||
|
localEdgeDNSMap = maps.Map{
|
||||||
|
"id": nsCluster.Id,
|
||||||
|
"name": nsCluster.Name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.Data["provider"] = maps.Map{
|
this.Data["provider"] = maps.Map{
|
||||||
"id": provider.Id,
|
"id": provider.Id,
|
||||||
"name": provider.Name,
|
"name": provider.Name,
|
||||||
"type": provider.Type,
|
"type": provider.Type,
|
||||||
"typeName": provider.TypeName,
|
"typeName": provider.TypeName,
|
||||||
"apiParams": apiParams,
|
"apiParams": apiParams,
|
||||||
|
"localEdgeDNS": localEdgeDNSMap,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 域名
|
// 域名
|
||||||
|
|||||||
@@ -59,10 +59,26 @@ func (this *UpdatePopupAction) RunGet(params struct {
|
|||||||
typeMaps = append(typeMaps, maps.Map{
|
typeMaps = append(typeMaps, maps.Map{
|
||||||
"name": t.Name,
|
"name": t.Name,
|
||||||
"code": t.Code,
|
"code": t.Code,
|
||||||
|
"description": t.Description,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.Data["types"] = typeMaps
|
this.Data["types"] = typeMaps
|
||||||
|
|
||||||
|
// EdgeDNS集群列表
|
||||||
|
nsClustersResp, err := this.RPC().NSClusterRPC().FindAllEnabledNSClusters(this.AdminContext(), &pb.FindAllEnabledNSClustersRequest{})
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
nsClusterMaps := []maps.Map{}
|
||||||
|
for _, nsCluster := range nsClustersResp.NsClusters {
|
||||||
|
nsClusterMaps = append(nsClusterMaps, maps.Map{
|
||||||
|
"id": nsCluster.Id,
|
||||||
|
"name": nsCluster.Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.Data["nsClusters"] = nsClusterMaps
|
||||||
|
|
||||||
this.Show()
|
this.Show()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,6 +104,9 @@ func (this *UpdatePopupAction) RunPost(params struct {
|
|||||||
CloudFlareAPIKey string
|
CloudFlareAPIKey string
|
||||||
CloudFlareEmail string
|
CloudFlareEmail string
|
||||||
|
|
||||||
|
// Local EdgeDNS
|
||||||
|
ParamLocalEdgeDNSClusterId int64
|
||||||
|
|
||||||
// CustomHTTP
|
// CustomHTTP
|
||||||
ParamCustomHTTPURL string
|
ParamCustomHTTPURL string
|
||||||
ParamCustomHTTPSecret string
|
ParamCustomHTTPSecret string
|
||||||
@@ -140,6 +159,11 @@ func (this *UpdatePopupAction) RunPost(params struct {
|
|||||||
Email("请输入正确格式的邮箱地址")
|
Email("请输入正确格式的邮箱地址")
|
||||||
apiParams["apiKey"] = params.CloudFlareAPIKey
|
apiParams["apiKey"] = params.CloudFlareAPIKey
|
||||||
apiParams["email"] = params.CloudFlareEmail
|
apiParams["email"] = params.CloudFlareEmail
|
||||||
|
case "localEdgeDNS":
|
||||||
|
params.Must.
|
||||||
|
Field("ParamLocalEdgeDNSClusterId", params.ParamLocalEdgeDNSClusterId).
|
||||||
|
Gt(0, "请选择域名服务集群")
|
||||||
|
apiParams["clusterId"] = params.ParamLocalEdgeDNSClusterId
|
||||||
case "customHTTP":
|
case "customHTTP":
|
||||||
params.Must.
|
params.Must.
|
||||||
Field("paramCustomHTTPURL", params.ParamCustomHTTPURL).
|
Field("paramCustomHTTPURL", params.ParamCustomHTTPURL).
|
||||||
|
|||||||
@@ -14,10 +14,11 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>服务商厂家 *</td>
|
<td>服务商厂家 *</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="ui dropdown auto-width" name="type" v-model="type">
|
<select class="ui dropdown auto-width" name="type" v-model="type" @change="changeType">
|
||||||
<option value="">[请选择]</option>
|
<option value="">[请选择]</option>
|
||||||
<option v-for="type in types" :value="type.code">{{type.name}}</option>
|
<option v-for="type in types" :value="type.code">{{type.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
|
<p class="comment">{{typeDescription}}</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -96,6 +97,19 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
|
<!-- Edge DNS -->
|
||||||
|
<tbody v-if="type == 'localEdgeDNS'">
|
||||||
|
<tr>
|
||||||
|
<td>选择域名服务集群 *</td>
|
||||||
|
<td>
|
||||||
|
<select class="ui dropdown auto-width" name="paramLocalEdgeDNSClusterId">
|
||||||
|
<option value="0">[选择域名服务集群]</option>
|
||||||
|
<option v-for="cluster in nsClusters" :value="cluster.id">{{cluster.name}}</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
<!-- 自定义HTTP-->
|
<!-- 自定义HTTP-->
|
||||||
<tbody v-if="type == 'customHTTP'">
|
<tbody v-if="type == 'customHTTP'">
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -1,4 +1,17 @@
|
|||||||
Tea.context(function () {
|
Tea.context(function () {
|
||||||
this.success = NotifyPopup
|
this.success = NotifyPopup
|
||||||
this.type = ""
|
this.type = ""
|
||||||
|
this.typeDescription = ""
|
||||||
|
|
||||||
|
this.changeType = function () {
|
||||||
|
let that = this
|
||||||
|
let t = this.types.$find(function (k, v) {
|
||||||
|
return v.code == that.type
|
||||||
|
})
|
||||||
|
if (t != null) {
|
||||||
|
this.typeDescription = t.description
|
||||||
|
} else {
|
||||||
|
this.typeDescription = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
@@ -22,11 +22,11 @@
|
|||||||
<!-- DNSPod -->
|
<!-- DNSPod -->
|
||||||
<tbody v-if="provider.type == 'dnspod'">
|
<tbody v-if="provider.type == 'dnspod'">
|
||||||
<tr>
|
<tr>
|
||||||
<td>密钥ID</td>
|
<td class="color-border">密钥ID</td>
|
||||||
<td>{{provider.apiParams.id}}</td>
|
<td>{{provider.apiParams.id}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>密钥Token</td>
|
<td class="color-border">密钥Token</td>
|
||||||
<td>{{provider.apiParams.token}}</td>
|
<td>{{provider.apiParams.token}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -46,25 +46,35 @@
|
|||||||
<!-- CloudFlare -->
|
<!-- CloudFlare -->
|
||||||
<tbody v-if="provider.type == 'cloudFlare'">
|
<tbody v-if="provider.type == 'cloudFlare'">
|
||||||
<tr>
|
<tr>
|
||||||
<td>API密钥</td>
|
<td class="color-border">API密钥</td>
|
||||||
<td>
|
<td>
|
||||||
{{provider.apiParams.apiKey}}
|
{{provider.apiParams.apiKey}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>账号邮箱</td>
|
<td class="color-border">账号邮箱</td>
|
||||||
<td>{{provider.apiParams.email}}</td>
|
<td>{{provider.apiParams.email}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
|
<!-- Local EdgeDNS -->
|
||||||
|
<tbody v-if="provider.type == 'localEdgeDNS'">
|
||||||
|
<tr>
|
||||||
|
<td class="color-border">域名服务集群</td>
|
||||||
|
<td>
|
||||||
|
{{provider.localEdgeDNS.name}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
<!-- CustomHTTP -->
|
<!-- CustomHTTP -->
|
||||||
<tbody v-if="provider.type == 'customHTTP'">
|
<tbody v-if="provider.type == 'customHTTP'">
|
||||||
<tr>
|
<tr>
|
||||||
<td>HTTP URL</td>
|
<td class="color-border">HTTP URL</td>
|
||||||
<td>{{provider.apiParams.url}}</td>
|
<td>{{provider.apiParams.url}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>私钥</td>
|
<td class="color-border">私钥</td>
|
||||||
<td>{{provider.apiParams.secret}}</td>
|
<td>{{provider.apiParams.secret}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<td>服务商厂家 *</td>
|
<td>服务商厂家 *</td>
|
||||||
<td>
|
<td>
|
||||||
{{provider.typeName}}
|
{{provider.typeName}}
|
||||||
<p class="comment">创建后无法修改此选项。</p>
|
<p class="comment">{{typeDescription}}创建后无法修改此选项。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -79,6 +79,19 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
|
<!-- Edge DNS -->
|
||||||
|
<tbody v-if="provider.type == 'localEdgeDNS'">
|
||||||
|
<tr>
|
||||||
|
<td>选择域名服务集群 *</td>
|
||||||
|
<td>
|
||||||
|
<select class="ui dropdown auto-width" name="paramLocalEdgeDNSClusterId" v-model="provider.params.clusterId">
|
||||||
|
<option value="0">[选择域名服务集群]</option>
|
||||||
|
<option v-for="cluster in nsClusters" :value="cluster.id">{{cluster.name}}</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
<!-- 自定义HTTP-->
|
<!-- 自定义HTTP-->
|
||||||
<tbody v-if="provider.type == 'customHTTP'">
|
<tbody v-if="provider.type == 'customHTTP'">
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
10
web/views/@default/dns/providers/updatePopup.js
Normal file
10
web/views/@default/dns/providers/updatePopup.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Tea.context(function () {
|
||||||
|
this.typeDescription = ""
|
||||||
|
|
||||||
|
let that = this
|
||||||
|
this.types.forEach(function (v) {
|
||||||
|
if (v.code == that.provider.type) {
|
||||||
|
that.typeDescription = v.description
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user