diff --git a/internal/web/actions/default/clusters/cluster/init.go b/internal/web/actions/default/clusters/cluster/init.go index 7e6c00df..afff1282 100644 --- a/internal/web/actions/default/clusters/cluster/init.go +++ b/internal/web/actions/default/clusters/cluster/init.go @@ -49,6 +49,7 @@ func init() { Post("/start", new(node.StartAction)). Post("/stop", new(node.StopAction)). Post("/up", new(node.UpAction)). + Post("/updateIsOn", new(node.UpdateIsOnAction)). Get("/detail", new(node.DetailAction)). GetPost("/updateDNSPopup", new(node.UpdateDNSPopupAction)). Post("/syncDomain", new(node.SyncDomainAction)). diff --git a/internal/web/actions/default/clusters/cluster/node/updateIsOn.go b/internal/web/actions/default/clusters/cluster/node/updateIsOn.go new file mode 100644 index 00000000..7f889a56 --- /dev/null +++ b/internal/web/actions/default/clusters/cluster/node/updateIsOn.go @@ -0,0 +1,35 @@ +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . + +package node + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/langs/codes" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type UpdateIsOnAction struct { + actionutils.ParentAction +} + +func (this *UpdateIsOnAction) RunPost(params struct { + NodeId int64 + IsOn bool +}) { + if params.IsOn { + defer this.CreateLogInfo(codes.Node_LogUpdateNodeOn, params.NodeId) + } else { + defer this.CreateLogInfo(codes.Node_LogUpdateNodeOff, params.NodeId) + } + + _, err := this.RPC().NodeRPC().UpdateNodeIsOn(this.AdminContext(), &pb.UpdateNodeIsOnRequest{ + NodeId: params.NodeId, + IsOn: params.IsOn, + }) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/web/views/@default/clusters/cluster/nodes.html b/web/views/@default/clusters/cluster/nodes.html index 6ec9282f..8e3e9e21 100644 --- a/web/views/@default/clusters/cluster/nodes.html +++ b/web/views/@default/clusters/cluster/nodes.html @@ -70,7 +70,7 @@ 连接数 负载 状态 - 操作 + 操作 @@ -172,7 +172,7 @@ - 详情   删除 + 详情   停用启用   删除 diff --git a/web/views/@default/clusters/cluster/nodes.js b/web/views/@default/clusters/cluster/nodes.js index df687b9c..dbb0ebf1 100644 --- a/web/views/@default/clusters/cluster/nodes.js +++ b/web/views/@default/clusters/cluster/nodes.js @@ -49,6 +49,26 @@ Tea.context(function () { }) } + this.updateNodeOn = function (nodeId, isOn) { + let that = this + let op + if (isOn) { + op = "启用" + } else { + op = "停用" + } + teaweb.confirm("确定要" + op + "此节点吗?", function () { + that.$post(".node.updateIsOn") + .params({ + nodeId: nodeId, + isOn: isOn + }) + .success(function () { + teaweb.successRefresh(op + "成功") + }) + }) + } + /** * 显示和隐藏IP */