From 1c2ed070cafa49b0914cee66a0edd1f5fc82898d Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Mon, 6 Sep 2021 09:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E9=80=89=E6=8B=A9=E7=BA=BF=E8=B7=AF?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E5=8F=AF=E4=BB=A5=E4=BB=8E=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E4=B8=AD=E8=8E=B7=E5=8F=96=E7=BA=BF=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/default/clusters/cluster/init.go | 1 + .../clusters/cluster/node/syncDomain.go | 33 +++++++++++++++++++ internal/web/actions/default/dns/init.go | 1 + .../actions/default/dns/issues/syncDomain.go | 33 +++++++++++++++++++ .../clusters/cluster/node/updateDNSPopup.html | 4 +-- .../clusters/cluster/node/updateDNSPopup.js | 13 ++++++++ .../@default/dns/issues/updateNodePopup.html | 4 +-- .../@default/dns/issues/updateNodePopup.js | 13 ++++++++ 8 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 internal/web/actions/default/clusters/cluster/node/syncDomain.go create mode 100644 internal/web/actions/default/dns/issues/syncDomain.go create mode 100644 web/views/@default/clusters/cluster/node/updateDNSPopup.js create mode 100644 web/views/@default/dns/issues/updateNodePopup.js diff --git a/internal/web/actions/default/clusters/cluster/init.go b/internal/web/actions/default/clusters/cluster/init.go index c200e82f..4d60c5b9 100644 --- a/internal/web/actions/default/clusters/cluster/init.go +++ b/internal/web/actions/default/clusters/cluster/init.go @@ -45,6 +45,7 @@ func init() { Get("/thresholds", new(thresholds.IndexAction)). Get("/detail", new(node.DetailAction)). GetPost("/updateDNSPopup", new(node.UpdateDNSPopupAction)). + Post("/syncDomain", new(node.SyncDomainAction)). // 分组相关 Prefix("/clusters/cluster/groups"). diff --git a/internal/web/actions/default/clusters/cluster/node/syncDomain.go b/internal/web/actions/default/clusters/cluster/node/syncDomain.go new file mode 100644 index 00000000..769d1962 --- /dev/null +++ b/internal/web/actions/default/clusters/cluster/node/syncDomain.go @@ -0,0 +1,33 @@ +package node + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type SyncDomainAction struct { + actionutils.ParentAction +} + +func (this *SyncDomainAction) RunPost(params struct { + DomainId int64 +}) { + // 记录日志 + defer this.CreateLog(oplogs.LevelInfo, "同步DNS域名数据 %d", params.DomainId) + + // 执行同步 + resp, err := this.RPC().DNSDomainRPC().SyncDNSDomainData(this.AdminContext(), &pb.SyncDNSDomainDataRequest{DnsDomainId: params.DomainId}) + if err != nil { + this.ErrorPage(err) + return + } + if resp.IsOk { + this.Success() + } else { + this.Data["shouldFix"] = resp.ShouldFix + this.Fail(resp.Error) + } + + this.Success() +} diff --git a/internal/web/actions/default/dns/init.go b/internal/web/actions/default/dns/init.go index a3e9e294..ef631d41 100644 --- a/internal/web/actions/default/dns/init.go +++ b/internal/web/actions/default/dns/init.go @@ -56,6 +56,7 @@ func init() { Data("teaSubMenu", "issue"). GetPost("", new(issues.IndexAction)). GetPost("/updateNodePopup", new(issues.UpdateNodePopupAction)). + Post("/syncDomain", new(issues.SyncDomainAction)). EndData(). EndAll() }) diff --git a/internal/web/actions/default/dns/issues/syncDomain.go b/internal/web/actions/default/dns/issues/syncDomain.go new file mode 100644 index 00000000..80095f55 --- /dev/null +++ b/internal/web/actions/default/dns/issues/syncDomain.go @@ -0,0 +1,33 @@ +package issues + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type SyncDomainAction struct { + actionutils.ParentAction +} + +func (this *SyncDomainAction) RunPost(params struct { + DomainId int64 +}) { + // 记录日志 + defer this.CreateLog(oplogs.LevelInfo, "同步DNS域名数据 %d", params.DomainId) + + // 执行同步 + resp, err := this.RPC().DNSDomainRPC().SyncDNSDomainData(this.AdminContext(), &pb.SyncDNSDomainDataRequest{DnsDomainId: params.DomainId}) + if err != nil { + this.ErrorPage(err) + return + } + if resp.IsOk { + this.Success() + } else { + this.Data["shouldFix"] = resp.ShouldFix + this.Fail(resp.Error) + } + + this.Success() +} diff --git a/web/views/@default/clusters/cluster/node/updateDNSPopup.html b/web/views/@default/clusters/cluster/node/updateDNSPopup.html index 3f41ed3b..7cf669fa 100644 --- a/web/views/@default/clusters/cluster/node/updateDNSPopup.html +++ b/web/views/@default/clusters/cluster/node/updateDNSPopup.html @@ -24,10 +24,10 @@ 线路 -

没有可选的线路。

+

没有可选的线路。[获取线路]

-

当前节点IP对应的线路。

+

当前节点IP对应的线路。[重新获取线路]

diff --git a/web/views/@default/clusters/cluster/node/updateDNSPopup.js b/web/views/@default/clusters/cluster/node/updateDNSPopup.js new file mode 100644 index 00000000..5d3f3578 --- /dev/null +++ b/web/views/@default/clusters/cluster/node/updateDNSPopup.js @@ -0,0 +1,13 @@ +Tea.context(function () { + this.syncDomain = function (domainId) { + this.$post(".syncDomain") + .params({ + domainId: domainId + }) + .success(function () { + teaweb.success("从服务商获取线路成功", function () { + window.location.reload() + }) + }) + } +}) \ No newline at end of file diff --git a/web/views/@default/dns/issues/updateNodePopup.html b/web/views/@default/dns/issues/updateNodePopup.html index 3f41ed3b..43556626 100644 --- a/web/views/@default/dns/issues/updateNodePopup.html +++ b/web/views/@default/dns/issues/updateNodePopup.html @@ -24,10 +24,10 @@ 线路 -

没有可选的线路。

+

没有可选的线路。[获取线路]

-

当前节点IP对应的线路。

+

当前节点IP对应的线路。[重新获取线路]

diff --git a/web/views/@default/dns/issues/updateNodePopup.js b/web/views/@default/dns/issues/updateNodePopup.js new file mode 100644 index 00000000..5d3f3578 --- /dev/null +++ b/web/views/@default/dns/issues/updateNodePopup.js @@ -0,0 +1,13 @@ +Tea.context(function () { + this.syncDomain = function (domainId) { + this.$post(".syncDomain") + .params({ + domainId: domainId + }) + .success(function () { + teaweb.success("从服务商获取线路成功", function () { + window.location.reload() + }) + }) + } +}) \ No newline at end of file