From b7fd551acf43c12e4d45067246b50beb7f70c4b1 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Mon, 20 Sep 2021 16:37:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E9=9B=86=E7=BE=A4=E4=B8=AD=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E8=AE=BE=E7=BD=AE=E8=87=AA=E5=8A=A8=E5=8A=A0=E5=85=A5?= =?UTF-8?q?DNS=E7=9A=84CNAME=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default/clusters/cluster/settings/dns/index.go | 8 ++++++++ internal/web/actions/default/dns/clusters/cluster.go | 6 ++++++ internal/web/actions/default/dns/updateClusterPopup.go | 8 ++++++++ web/public/js/components/common/labels.js | 7 ++++++- web/public/js/components/common/values-box.js | 3 +++ .../@default/clusters/cluster/settings/dns/index.html | 7 +++++++ .../@default/clusters/cluster/settings/dns/index.js | 4 ++++ web/views/@default/dns/clusters/cluster.html | 9 +++++++++ web/views/@default/dns/updateClusterPopup.html | 7 +++++++ web/views/@default/dns/updateClusterPopup.js | 7 +++++++ 10 files changed, 65 insertions(+), 1 deletion(-) diff --git a/internal/web/actions/default/clusters/cluster/settings/dns/index.go b/internal/web/actions/default/clusters/cluster/settings/dns/index.go index 5069518f..781c723b 100644 --- a/internal/web/actions/default/clusters/cluster/settings/dns/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/dns/index.go @@ -46,6 +46,12 @@ func (this *IndexAction) RunGet(params struct { this.Data["domainName"] = dnsInfoResp.Domain.Name } + if len(dnsInfoResp.CnameRecords) == 0 { + this.Data["cnameRecords"] = []string{} + } else { + this.Data["cnameRecords"] = dnsInfoResp.CnameRecords + } + this.Show() } @@ -56,6 +62,7 @@ func (this *IndexAction) RunPost(params struct { DnsName string NodesAutoSync bool ServersAutoSync bool + CnameRecords []string Must *actions.Must CSRF *actionutils.CSRF @@ -97,6 +104,7 @@ func (this *IndexAction) RunPost(params struct { DnsDomainId: params.DnsDomainId, NodesAutoSync: params.NodesAutoSync, ServersAutoSync: params.ServersAutoSync, + CnameRecords: params.CnameRecords, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/dns/clusters/cluster.go b/internal/web/actions/default/dns/clusters/cluster.go index 871ec491..86467f34 100644 --- a/internal/web/actions/default/dns/clusters/cluster.go +++ b/internal/web/actions/default/dns/clusters/cluster.go @@ -61,6 +61,12 @@ func (this *ClusterAction) RunGet(params struct { dnsMap["providerTypeName"] = dnsResp.Provider.TypeName } + if len(dnsResp.CnameRecords) > 0 { + dnsMap["cnameRecords"] = dnsResp.CnameRecords + } else { + dnsMap["cnameRecords"] = []string{} + } + this.Data["dnsInfo"] = dnsMap // 节点DNS解析记录 diff --git a/internal/web/actions/default/dns/updateClusterPopup.go b/internal/web/actions/default/dns/updateClusterPopup.go index 6e1116de..cab1031c 100644 --- a/internal/web/actions/default/dns/updateClusterPopup.go +++ b/internal/web/actions/default/dns/updateClusterPopup.go @@ -46,6 +46,12 @@ func (this *UpdateClusterPopupAction) RunGet(params struct { this.Data["providerId"] = 0 } + if len(dnsResp.CnameRecords) == 0 { + this.Data["cnameRecords"] = []string{} + } else { + this.Data["cnameRecords"] = dnsResp.CnameRecords + } + // 所有服务商 providerTypesResp, err := this.RPC().DNSProviderRPC().FindAllDNSProviderTypes(this.AdminContext(), &pb.FindAllDNSProviderTypesRequest{}) if err != nil { @@ -70,6 +76,7 @@ func (this *UpdateClusterPopupAction) RunPost(params struct { DomainId int64 NodesAutoSync bool ServersAutoSync bool + CnameRecords []string Must *actions.Must CSRF *actionutils.CSRF @@ -103,6 +110,7 @@ func (this *UpdateClusterPopupAction) RunPost(params struct { DnsDomainId: params.DomainId, NodesAutoSync: params.NodesAutoSync, ServersAutoSync: params.ServersAutoSync, + CnameRecords: params.CnameRecords, }) if err != nil { this.ErrorPage(err) diff --git a/web/public/js/components/common/labels.js b/web/public/js/components/common/labels.js index 1e72841a..4d541e35 100644 --- a/web/public/js/components/common/labels.js +++ b/web/public/js/components/common/labels.js @@ -6,7 +6,12 @@ Vue.component("label-on", { // 文字代码标签 Vue.component("code-label", { - template: `` + methods: { + click: function (args) { + this.$emit("click", args) + } + }, + template: `` }) // tiny标签 diff --git a/web/public/js/components/common/values-box.js b/web/public/js/components/common/values-box.js index 435119df..8814fb2b 100644 --- a/web/public/js/components/common/values-box.js +++ b/web/public/js/components/common/values-box.js @@ -55,6 +55,9 @@ Vue.component("values-box", { }, updateAll: function (values) { this.vValeus = values + }, + addValue: function (v) { + this.vValues.push(v) } }, template: `
diff --git a/web/views/@default/clusters/cluster/settings/dns/index.html b/web/views/@default/clusters/cluster/settings/dns/index.html index c05c3d60..d1c3a171 100644 --- a/web/views/@default/clusters/cluster/settings/dns/index.html +++ b/web/views/@default/clusters/cluster/settings/dns/index.html @@ -26,6 +26,13 @@

当前集群的子域名,和主域名一起组成集群节点的子域名。

+ + 自动设置CNAME记录 + + +

除了集群节点记录之外,自动加入的CNAME记录,比如@www

+ + diff --git a/web/views/@default/clusters/cluster/settings/dns/index.js b/web/views/@default/clusters/cluster/settings/dns/index.js index 114ba045..ea3086ee 100644 --- a/web/views/@default/clusters/cluster/settings/dns/index.js +++ b/web/views/@default/clusters/cluster/settings/dns/index.js @@ -6,4 +6,8 @@ Tea.context(function () { this.domain.id = domain.id this.domain.name = domain.name } + + this.addCnameRecord = function (name) { + this.$refs.cnameRecords.addValue(name) + } }) \ No newline at end of file diff --git a/web/views/@default/dns/clusters/cluster.html b/web/views/@default/dns/clusters/cluster.html index d995d9e4..d9f0ae52 100644 --- a/web/views/@default/dns/clusters/cluster.html +++ b/web/views/@default/dns/clusters/cluster.html @@ -31,6 +31,15 @@ 没有设置 + + 自动设置CNAME记录 + + 暂时还没有设置。 +
+ {{record}} +
+ + 操作 diff --git a/web/views/@default/dns/updateClusterPopup.html b/web/views/@default/dns/updateClusterPopup.html index 84c9d514..b906dcaf 100644 --- a/web/views/@default/dns/updateClusterPopup.html +++ b/web/views/@default/dns/updateClusterPopup.html @@ -44,6 +44,13 @@

子域名和主域名共同组成集群的域名。

+ + 自动设置CNAME记录 + + +

除了集群节点记录之外,自动加入的CNAME记录,比如@www

+ + diff --git a/web/views/@default/dns/updateClusterPopup.js b/web/views/@default/dns/updateClusterPopup.js index b3dc3772..d53d902a 100644 --- a/web/views/@default/dns/updateClusterPopup.js +++ b/web/views/@default/dns/updateClusterPopup.js @@ -77,4 +77,11 @@ Tea.context(function () { this.domain = domainInfo.name } } + + /** + * 自动设置CNAME + */ + this.addCnameRecord = function (name) { + this.$refs.cnameRecords.addValue(name) + } }) \ No newline at end of file