diff --git a/internal/web/actions/default/clusters/delete.go b/internal/web/actions/default/clusters/delete.go new file mode 100644 index 00000000..f334c46a --- /dev/null +++ b/internal/web/actions/default/clusters/delete.go @@ -0,0 +1,33 @@ +package clusters + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type DeleteAction struct { + actionutils.ParentAction +} + +func (this *DeleteAction) RunPost(params struct { + ClusterId int64 +}) { + // 检查有无服务正在使用 + countResp, err := this.RPC().ServerRPC().CountAllEnabledServersWithNodeClusterId(this.AdminContext(), &pb.CountAllEnabledServersWithNodeClusterIdRequest{NodeClusterId: params.ClusterId}) + if err != nil { + this.ErrorPage(err) + return + } + if countResp.Count > 0 { + this.Fail("有代理服务正在使用此集群,请修改这些代理服务后再删除") + } + + // 删除 + _, err = this.RPC().NodeClusterRPC().DeleteNodeCluster(this.AdminContext(), &pb.DeleteNodeClusterRequest{ClusterId: params.ClusterId}) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/internal/web/actions/default/clusters/init.go b/internal/web/actions/default/clusters/init.go index 5e4a6c08..e8e86c7d 100644 --- a/internal/web/actions/default/clusters/init.go +++ b/internal/web/actions/default/clusters/init.go @@ -15,6 +15,7 @@ func init() { GetPost("/create", new(CreateAction)). Post("/sync", new(SyncAction)). Post("/checkChange", new(CheckChangeAction)). + Post("/delete", new(DeleteAction)). EndAll() }) } diff --git a/web/public/js/components/common/csrf-token.js b/web/public/js/components/common/csrf-token.js index 53c5d302..6659012e 100644 --- a/web/public/js/components/common/csrf-token.js +++ b/web/public/js/components/common/csrf-token.js @@ -7,6 +7,11 @@ Vue.component("csrf-token", { this.$refs.token.form.addEventListener("submit", function () { that.refreshToken() }) + + // 自动刷新 + setInterval(function () { + that.refreshToken() + }, 10 * 60 * 1000) }, data: function () { return { diff --git a/web/views/@default/clusters/cluster/settings/health.html b/web/views/@default/clusters/cluster/settings/health.html index 358251db..3dac331f 100644 --- a/web/views/@default/clusters/cluster/settings/health.html +++ b/web/views/@default/clusters/cluster/settings/health.html @@ -5,6 +5,6 @@
-   立即检查 +   立即检查
\ No newline at end of file diff --git a/web/views/@default/clusters/index.html b/web/views/@default/clusters/index.html index 12fd8f5c..fffdeed7 100644 --- a/web/views/@default/clusters/index.html +++ b/web/views/@default/clusters/index.html @@ -28,7 +28,8 @@ N - 详情 + 详情   + 删除 diff --git a/web/views/@default/clusters/index.js b/web/views/@default/clusters/index.js new file mode 100644 index 00000000..dcd9aeb8 --- /dev/null +++ b/web/views/@default/clusters/index.js @@ -0,0 +1,12 @@ +Tea.context(function () { + this.deleteCluster = function (clusterId) { + let that = this + teaweb.confirm("确定要删除此集群吗?", function () { + that.$post("/clusters/delete") + .params({ + clusterId: clusterId + }) + .refresh() + }) + } +}) \ No newline at end of file diff --git a/web/views/@default/messages/index.html b/web/views/@default/messages/index.html index 2724d7d9..00aefd27 100644 --- a/web/views/@default/messages/index.html +++ b/web/views/@default/messages/index.html @@ -1,8 +1,8 @@ {$layout} - [设置当前页为已读] - [设置全部为已读] + [当前页已读] + [全部已读]