From 2b6d1c70a8e2c4ac50cf96685a09cb35e850a0b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 21 Jan 2024 17:42:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E7=BE=A4=E8=8A=82=E7=82=B9=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=E5=A2=9E=E5=8A=A0=E5=81=9C=E7=94=A8/?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E6=93=8D=E4=BD=9C?= 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/updateIsOn.go | 35 +++++++++++++++++++ .../@default/clusters/cluster/nodes.html | 4 +-- web/views/@default/clusters/cluster/nodes.js | 20 +++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 internal/web/actions/default/clusters/cluster/node/updateIsOn.go 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 */