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 7725861a..f9d484d2 100644 --- a/internal/web/actions/default/clusters/cluster/settings/dns/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/dns/index.go @@ -6,6 +6,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/dns/domains/domainutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/actions" + "github.com/iwind/TeaGo/maps" ) type IndexAction struct { @@ -41,10 +42,23 @@ func (this *IndexAction) RunGet(params struct { this.Data["dnsName"] = dnsInfoResp.Name this.Data["nodesAutoSync"] = dnsInfoResp.NodesAutoSync this.Data["serversAutoSync"] = dnsInfoResp.ServersAutoSync + + var domainProviderMap = maps.Map{ + "id": 0, + "name": "", + } if dnsInfoResp.Domain != nil { this.Data["domainId"] = dnsInfoResp.Domain.Id this.Data["domainName"] = dnsInfoResp.Domain.Name + + if dnsInfoResp.Provider != nil { + domainProviderMap = maps.Map{ + "id": dnsInfoResp.Provider.Id, + "name": dnsInfoResp.Provider.Name, + } + } } + this.Data["domainProvider"] = domainProviderMap if len(dnsInfoResp.CnameRecords) == 0 { this.Data["cnameRecords"] = []string{} diff --git a/internal/web/actions/default/dns/domains/selectPopup.go b/internal/web/actions/default/dns/domains/selectPopup.go index d16b24cb..02aff1f2 100644 --- a/internal/web/actions/default/dns/domains/selectPopup.go +++ b/internal/web/actions/default/dns/domains/selectPopup.go @@ -30,7 +30,7 @@ func (this *SelectPopupAction) RunGet(params struct { this.ErrorPage(err) return } - domain := domainResp.DnsDomain + var domain = domainResp.DnsDomain if domain != nil { this.Data["domainId"] = domain.Id this.Data["domainName"] = domain.Name @@ -53,7 +53,7 @@ func (this *SelectPopupAction) RunGet(params struct { this.ErrorPage(err) return } - providerTypeMaps := []maps.Map{} + var providerTypeMaps = []maps.Map{} for _, providerType := range providerTypesResp.ProviderTypes { providerTypeMaps = append(providerTypeMaps, maps.Map{ "name": providerType.Name, @@ -73,6 +73,7 @@ func (this *SelectPopupAction) RunPost(params struct { }) { this.Data["domainId"] = params.DomainId this.Data["domainName"] = "" + this.Data["providerName"] = "" if params.DomainId > 0 { domainResp, err := this.RPC().DNSDomainRPC().FindEnabledDNSDomain(this.AdminContext(), &pb.FindEnabledDNSDomainRequest{DnsDomainId: params.DomainId}) @@ -82,6 +83,19 @@ func (this *SelectPopupAction) RunPost(params struct { } if domainResp.DnsDomain != nil { this.Data["domainName"] = domainResp.DnsDomain.Name + + // 服务商名称 + var providerId = domainResp.DnsDomain.ProviderId + if providerId > 0 { + providerResp, err := this.RPC().DNSProviderRPC().FindEnabledDNSProvider(this.AdminContext(), &pb.FindEnabledDNSProviderRequest{DnsProviderId: providerId}) + if err != nil { + this.ErrorPage(err) + return + } + if providerResp.DnsProvider != nil { + this.Data["providerName"] = providerResp.DnsProvider.Name + } + } } else { this.Data["domainId"] = 0 } diff --git a/web/public/js/components/dns/dns-domain-selector.js b/web/public/js/components/dns/dns-domain-selector.js index c175be7f..a3fc5717 100644 --- a/web/public/js/components/dns/dns-domain-selector.js +++ b/web/public/js/components/dns/dns-domain-selector.js @@ -1,5 +1,5 @@ Vue.component("dns-domain-selector", { - props: ["v-domain-id", "v-domain-name"], + props: ["v-domain-id", "v-domain-name", "v-provider-name"], data: function () { let domainId = this.vDomainId if (domainId == null) { @@ -9,9 +9,16 @@ Vue.component("dns-domain-selector", { if (domainName == null) { domainName = "" } + + let providerName = this.vProviderName + if (providerName == null) { + providerName = "" + } + return { domainId: domainId, - domainName: domainName + domainName: domainName, + providerName: providerName } }, methods: { @@ -21,6 +28,7 @@ Vue.component("dns-domain-selector", { callback: function (resp) { that.domainId = resp.data.domainId that.domainName = resp.data.domainName + that.providerName = resp.data.providerName that.change() } }) @@ -36,6 +44,7 @@ Vue.component("dns-domain-selector", { callback: function (resp) { that.domainId = resp.data.domainId that.domainName = resp.data.domainName + that.providerName = resp.data.providerName that.change() } }) @@ -51,7 +60,7 @@ Vue.component("dns-domain-selector", {
用于生成集群节点和网站服务的DNS解析记录,修改后将自动删除旧域名中的相关记录。