diff --git a/internal/web/actions/default/dns/domainOptions.go b/internal/web/actions/default/dns/domainOptions.go index 4cae7ba8..a20d3ef9 100644 --- a/internal/web/actions/default/dns/domainOptions.go +++ b/internal/web/actions/default/dns/domainOptions.go @@ -6,7 +6,7 @@ import ( "github.com/iwind/TeaGo/maps" ) -// 域名列表选项 +// DomainOptionsAction 域名列表选项 type DomainOptionsAction struct { actionutils.ParentAction } @@ -23,8 +23,8 @@ func (this *DomainOptionsAction) RunPost(params struct { } domainMaps := []maps.Map{} for _, domain := range domainsResp.DnsDomains { - // 未开启的先跳过 - if !domain.IsOn { + // 未开启或者已删除的先跳过 + if !domain.IsOn || domain.IsDeleted { continue } diff --git a/internal/web/actions/default/dns/domains/recover.go b/internal/web/actions/default/dns/domains/recover.go new file mode 100644 index 00000000..f42c4bcb --- /dev/null +++ b/internal/web/actions/default/dns/domains/recover.go @@ -0,0 +1,27 @@ +package domains + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type RecoverAction struct { + actionutils.ParentAction +} + +func (this *RecoverAction) RunPost(params struct { + DomainId int64 +}) { + // 记录日志 + defer this.CreateLog(oplogs.LevelInfo, "从DNS服务商中恢复域名 %d", params.DomainId) + + // 执行恢复 + _, err := this.RPC().DNSDomainRPC().RecoverDNSDomain(this.AdminContext(), &pb.RecoverDNSDomainRequest{DnsDomainId: params.DomainId}) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/internal/web/actions/default/dns/domains/updatePopup.go b/internal/web/actions/default/dns/domains/updatePopup.go index 48ec9a29..d21d3516 100644 --- a/internal/web/actions/default/dns/domains/updatePopup.go +++ b/internal/web/actions/default/dns/domains/updatePopup.go @@ -52,7 +52,7 @@ func (this *UpdatePopupAction) RunPost(params struct { // TODO 检查DomainId // 记录日志 - defer this.CreateLog(oplogs.LevelInfo, "修改管理域名到DNS服务商 %d", params.DomainId) + defer this.CreateLog(oplogs.LevelInfo, "修改DNS服务商域名 %d", params.DomainId) params.Must. Field("name", params.Name). diff --git a/internal/web/actions/default/dns/init.go b/internal/web/actions/default/dns/init.go index ef631d41..4efecb24 100644 --- a/internal/web/actions/default/dns/init.go +++ b/internal/web/actions/default/dns/init.go @@ -43,6 +43,7 @@ func init() { GetPost("/createPopup", new(domains.CreatePopupAction)). GetPost("/updatePopup", new(domains.UpdatePopupAction)). Post("/delete", new(domains.DeleteAction)). + Post("/recover", new(domains.RecoverAction)). Post("/sync", new(domains.SyncAction)). Get("/routesPopup", new(domains.RoutesPopupAction)). GetPost("/selectPopup", new(domains.SelectPopupAction)). diff --git a/internal/web/actions/default/dns/providers/provider.go b/internal/web/actions/default/dns/providers/provider.go index d455ca4f..07862f31 100644 --- a/internal/web/actions/default/dns/providers/provider.go +++ b/internal/web/actions/default/dns/providers/provider.go @@ -83,6 +83,7 @@ func (this *ProviderAction) RunGet(params struct { "name": domain.Name, "isOn": domain.IsOn, "isUp": domain.IsUp, + "isDeleted": domain.IsDeleted, "dataUpdatedTime": dataUpdatedTime, "countRoutes": len(domain.Routes), "countServerRecords": domain.CountServerRecords, diff --git a/web/views/@default/dns/domains/updatePopup.html b/web/views/@default/dns/domains/updatePopup.html index 95d82bb6..9ed03cca 100644 --- a/web/views/@default/dns/domains/updatePopup.html +++ b/web/views/@default/dns/domains/updatePopup.html @@ -1,6 +1,6 @@ {$layout "layout_popup"} -

添加管理域名

+

修改管理域名

diff --git a/web/views/@default/dns/providers/provider.html b/web/views/@default/dns/providers/provider.html index 5884b2b6..07adec8d 100644 --- a/web/views/@default/dns/providers/provider.html +++ b/web/views/@default/dns/providers/provider.html @@ -99,58 +99,62 @@

暂时还没有可以管理的域名。

- - - - - - - - - - - - - - - - - - - - - - - -
域名线路集群节点域名服务域名数据更新时间状态操作
{{domain.name}} - {{domain.countRoutes}}个 - 0个 - - {{domain.countClusters}} - 0个 - - {{domain.countNodeRecords}}/{{domain.countAllNodes}}个 - 0个 - - {{domain.countServerRecords}}/{{domain.countAllServers}}个 - 0个 - - {{domain.dataUpdatedTime}} - 尚未更新 - -
- 需要同步 - 正在同步... -
-
- 已下线 -
-
- -
-
- 同步 - 正在同步...  - 修改   - 删除 -
\ No newline at end of file +
+
+

已删除的域名

+
+ + + + + + + + + + + + + + + + + + + + + + + +
域名线路集群节点域名服务域名数据更新时间状态操作
{{domain.name}} + {{domain.countRoutes}}个 + 0个 + + {{domain.countClusters}} + 0个 + + {{domain.countNodeRecords}}/{{domain.countAllNodes}}个 + 0个 + + {{domain.countServerRecords}}/{{domain.countAllServers}}个 + 0个 + + {{domain.dataUpdatedTime}} + 尚未更新 + + +
+ 需要同步 + 正在同步... +
+
+ 已下线 +
+
+ 同步 + 正在同步...  + 修改   + 删除 + 恢复 +
+
\ No newline at end of file diff --git a/web/views/@default/dns/providers/provider.js b/web/views/@default/dns/providers/provider.js index e75f3100..d984cfce 100644 --- a/web/views/@default/dns/providers/provider.js +++ b/web/views/@default/dns/providers/provider.js @@ -1,5 +1,6 @@ Tea.context(function () { this.isUpdatingDomains = false + this.hasDeletedDomains = this.domains.$find(function (k, v) {return v.isDeleted}) != null this.$delay(function () { this.syncDomains() @@ -66,6 +67,18 @@ Tea.context(function () { }) } + this.recoverDomain = function (domain) { + let that = this + teaweb.confirm("确定要恢复域名\"" + domain.name + "\"吗?", function () { + that.$post("/dns/domains/recover") + .params({ + domainId: domain.id + }) + .post() + .refresh() + }) + } + this.syncDomain = function (index, domain) { let that = this teaweb.confirm("确定要同步此域名下的所有解析记录吗?", function () {