From cc5bacedee4a5168d99c50bb635c2bce3fa8c5b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Tue, 25 Jul 2023 13:19:08 +0800 Subject: [PATCH] feat: support restart panel --- app/http/controllers/info_controller.go | 12 + public/panel/views/index.html | 336 ++++++++++++------------ routes/web.go | 1 + 3 files changed, 188 insertions(+), 161 deletions(-) diff --git a/app/http/controllers/info_controller.go b/app/http/controllers/info_controller.go index 2a41c46a..271b4a42 100644 --- a/app/http/controllers/info_controller.go +++ b/app/http/controllers/info_controller.go @@ -180,3 +180,15 @@ func (c *InfoController) Update(ctx http.Context) { Success(ctx, nil) } + +func (c *InfoController) Restart(ctx http.Context) { + var task models.Task + err := facades.Orm().Query().Where("status", models.TaskStatusRunning).OrWhere("status", models.TaskStatusWaiting).FirstOrFail(&task) + if err == nil { + Error(ctx, http.StatusInternalServerError, "当前有任务正在执行,禁止重启") + return + } + + tools.ExecShell("systemctl restart panel") + Success(ctx, nil) +} diff --git a/public/panel/views/index.html b/public/panel/views/index.html index 4a31edf3..77bb34d2 100644 --- a/public/panel/views/index.html +++ b/public/panel/views/index.html @@ -126,6 +126,7 @@ Date: 2023-06-22 操作 + @@ -178,182 +179,195 @@ Date: 2023-06-22 diff --git a/routes/web.go b/routes/web.go index 81fbb054..9d8c6963 100644 --- a/routes/web.go +++ b/routes/web.go @@ -22,6 +22,7 @@ func Web() { r.Middleware(middleware.Jwt()).Get("installedDbAndPhp", infoController.InstalledDbAndPhp) r.Middleware(middleware.Jwt()).Get("checkUpdate", infoController.CheckUpdate) r.Middleware(middleware.Jwt()).Post("update", infoController.Update) + r.Middleware(middleware.Jwt()).Post("restart", infoController.Restart) }) r.Prefix("user").Group(func(r route.Route) { userController := controllers.NewUserController()