diff --git a/internal/web/actions/default/servers/index.go b/internal/web/actions/default/servers/index.go index 2722eea7..de6bebf1 100644 --- a/internal/web/actions/default/servers/index.go +++ b/internal/web/actions/default/servers/index.go @@ -143,9 +143,13 @@ func (this *IndexAction) RunGet(params struct { // 域名列表 serverNames := []*serverconfigs.ServerNameConfig{} - if server.IsAuditing { + if server.IsAuditing || (server.AuditingResult != nil && !server.AuditingResult.IsOk) { server.ServerNamesJSON = server.AuditingServerNamesJSON } + auditingIsOk := true + if !server.IsAuditing && server.AuditingResult != nil && !server.AuditingResult.IsOk { + auditingIsOk = false + } if len(server.ServerNamesJSON) > 0 { err = json.Unmarshal(server.ServerNamesJSON, &serverNames) if err != nil { @@ -185,6 +189,7 @@ func (this *IndexAction) RunGet(params struct { "serverNames": serverNames, "countServerNames": countServerNames, "isAuditing": server.IsAuditing, + "auditingIsOk": auditingIsOk, "user": userMap, }) } diff --git a/internal/web/actions/default/servers/server/delete/index.go b/internal/web/actions/default/servers/server/delete/index.go index 0235ce2e..0c41c53c 100644 --- a/internal/web/actions/default/servers/server/delete/index.go +++ b/internal/web/actions/default/servers/server/delete/index.go @@ -28,7 +28,7 @@ func (this *IndexAction) RunPost(params struct { defer this.CreateLog(oplogs.LevelInfo, "删除代理服务 %d", params.ServerId) // 执行删除 - _, err := this.RPC().ServerRPC().DisableServer(this.AdminContext(), &pb.DisableServerRequest{ServerId: params.ServerId}) + _, err := this.RPC().ServerRPC().DeleteServer(this.AdminContext(), &pb.DeleteServerRequest{ServerId: params.ServerId}) if err != nil { this.ErrorPage(err) return diff --git a/internal/web/actions/default/servers/server/settings/serverNames/audit.go b/internal/web/actions/default/servers/server/settings/serverNames/audit.go new file mode 100644 index 00000000..5eb439a9 --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/serverNames/audit.go @@ -0,0 +1,39 @@ +package serverNames + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +// 审核域名 +type AuditAction struct { + actionutils.ParentAction +} + +func (this *AuditAction) RunPost(params struct { + ServerId int64 + AuditingOK bool + AuditingReason string + + CSRF *actionutils.CSRF +}) { + defer this.CreateLogInfo("提交服务 %d 域名审核", params.ServerId) + + if !params.AuditingOK && len(params.AuditingReason) == 0 { + this.FailField("auditingReason", "请输入审核不通过原因") + } + + _, err := this.RPC().ServerRPC().UpdateServerNamesAuditing(this.AdminContext(), &pb.UpdateServerNamesAuditingRequest{ + ServerId: params.ServerId, + AuditingResult: &pb.ServerNameAuditingResult{ + IsOk: params.AuditingOK, + Reason: params.AuditingReason, + }, + }) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/internal/web/actions/default/servers/server/settings/serverNames/index.go b/internal/web/actions/default/servers/server/settings/serverNames/index.go index ec857bdf..73d8d892 100644 --- a/internal/web/actions/default/servers/server/settings/serverNames/index.go +++ b/internal/web/actions/default/servers/server/settings/serverNames/index.go @@ -4,10 +4,11 @@ import ( "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" - "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/actions" + "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" ) // 域名管理 @@ -22,14 +23,32 @@ func (this *IndexAction) Init() { func (this *IndexAction) RunGet(params struct { ServerId int64 }) { - server, _, isOk := serverutils.FindServer(this.Parent(), params.ServerId) - if !isOk { + serverNamesResp, err := this.RPC().ServerRPC().FindServerNames(this.AdminContext(), &pb.FindServerNamesRequest{ServerId: params.ServerId}) + if err != nil { + this.ErrorPage(err) return } serverNamesConfig := []*serverconfigs.ServerNameConfig{} - if len(server.ServerNamesJSON) > 0 { - err := json.Unmarshal(server.ServerNamesJSON, &serverNamesConfig) + this.Data["isAuditing"] = serverNamesResp.IsAuditing + this.Data["auditingResult"] = maps.Map{ + "isOk": true, + } + if serverNamesResp.IsAuditing { + serverNamesResp.ServerNamesJSON = serverNamesResp.AuditingServerNamesJSON + } else if serverNamesResp.AuditingResult != nil { + if !serverNamesResp.AuditingResult.IsOk { + serverNamesResp.ServerNamesJSON = serverNamesResp.AuditingServerNamesJSON + } + + this.Data["auditingResult"] = maps.Map{ + "isOk": serverNamesResp.AuditingResult.IsOk, + "reason": serverNamesResp.AuditingResult.Reason, + "createdTime": timeutil.FormatTime("Y-m-d H:i:s", serverNamesResp.AuditingResult.CreatedAt), + } + } + if len(serverNamesResp.ServerNamesJSON) > 0 { + err := json.Unmarshal(serverNamesResp.ServerNamesJSON, &serverNamesConfig) if err != nil { this.ErrorPage(err) return @@ -37,9 +56,6 @@ func (this *IndexAction) RunGet(params struct { } this.Data["serverNames"] = serverNamesConfig - // DNS - this.Data["dnsName"] = server.DnsName - this.Show() } @@ -47,6 +63,7 @@ func (this *IndexAction) RunPost(params struct { ServerId int64 ServerNames string Must *actions.Must + CSRF *actionutils.CSRF }) { // 记录日志 defer this.CreateLog(oplogs.LevelInfo, "修改代理服务 %d 域名", params.ServerId) diff --git a/internal/web/actions/default/servers/server/settings/serverNames/init.go b/internal/web/actions/default/servers/server/settings/serverNames/init.go index f7ef2551..d3cc7bad 100644 --- a/internal/web/actions/default/servers/server/settings/serverNames/init.go +++ b/internal/web/actions/default/servers/server/settings/serverNames/init.go @@ -16,6 +16,7 @@ func init() { Data("secondMenuItem", "serverName"). Prefix("/servers/server/settings/serverNames"). GetPost("", new(IndexAction)). + Post("/audit", new(AuditAction)). EndAll() }) } diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index cd8d17bc..5ec01cf5 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -59,8 +59,14 @@ - +
- 审核中 + 审核中   +
+ + +
+ 审核不通过  
diff --git a/web/views/@default/servers/server/settings/serverNames/index.html b/web/views/@default/servers/server/settings/serverNames/index.html index dcc469ff..5c7ed997 100644 --- a/web/views/@default/servers/server/settings/serverNames/index.html +++ b/web/views/@default/servers/server/settings/serverNames/index.html @@ -2,16 +2,58 @@ {$template "/left_menu"}
-
- - - - - - -
已绑定的域名 - -
- -
+ +
+

当前域名正在审核中,请审核域名的所有人、备案情况等。

+
+ + + + + + + + + + + + + + + +
审核中域名 + + {{serverName}} + +
审核结果 + 审核通过   + 审核不通过 +
审核不通过原因 * + +
+ 提交审核结果 +
+
+ + +
+ 审核不通过,原因:{{auditingResult.reason}} ({{auditingResult.createdTime}})。等待用户重新提交。 +
+ + +
+
+ + + + + + + +
已绑定的域名 + +
+ +
+
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/serverNames/index.js b/web/views/@default/servers/server/settings/serverNames/index.js index 295a9aaf..44a5d043 100644 --- a/web/views/@default/servers/server/settings/serverNames/index.js +++ b/web/views/@default/servers/server/settings/serverNames/index.js @@ -1,3 +1,15 @@ Tea.context(function () { this.success = NotifyReloadSuccess("保存成功") + this.auditSuccess = NotifyReloadSuccess("保存成功") + + this.allServerNames = [] + let that = this + this.serverNames.forEach(function (v) { + if (v.subNames == null || v.subNames.length == 0) { + that.allServerNames.push(v.name) + } else { + that.allServerNames.$pushAll(v.subNames) + } + }) + this.auditing = 1 }) \ No newline at end of file