未验证 提交 e8dcabaf 编写于 作者: Mr.奇淼('s avatar Mr.奇淼( 提交者: GitHub

Merge pull request #386 from songzhibin97/gva_gormv2_dev

新增api 重启服务(非windows)
...@@ -5,6 +5,11 @@ import ( ...@@ -5,6 +5,11 @@ import (
"gin-vue-admin/model" "gin-vue-admin/model"
"gin-vue-admin/model/response" "gin-vue-admin/model/response"
"gin-vue-admin/service" "gin-vue-admin/service"
"os"
"os/exec"
"runtime"
"strconv"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"go.uber.org/zap" "go.uber.org/zap"
) )
...@@ -42,7 +47,6 @@ func SetSystemConfig(c *gin.Context) { ...@@ -42,7 +47,6 @@ func SetSystemConfig(c *gin.Context) {
} }
} }
// 本方法开发中 开发者windows系统 缺少linux系统所需的包 因此搁置
// @Tags System // @Tags System
// @Summary 重启系统 // @Summary 重启系统
// @Security ApiKeyAuth // @Security ApiKeyAuth
...@@ -51,14 +55,20 @@ func SetSystemConfig(c *gin.Context) { ...@@ -51,14 +55,20 @@ func SetSystemConfig(c *gin.Context) {
// @Success 200 {string} string "{"success":true,"data":{},"msg":"重启系统成功"}" // @Success 200 {string} string "{"success":true,"data":{},"msg":"重启系统成功"}"
// @Router /system/ReloadSystem [post] // @Router /system/ReloadSystem [post]
func ReloadSystem(c *gin.Context) { func ReloadSystem(c *gin.Context) {
var sys model.System if runtime.GOOS == "windows" {
_ = c.ShouldBindJSON(&sys) response.FailWithMessage("系统不支持", c)
if err := service.SetSystemConfig(sys); err != nil { return
}
pid := os.Getpid()
cmd := exec.Command("kill", "-1", strconv.Itoa(pid))
err := cmd.Run()
if err != nil {
global.GVA_LOG.Error("重启系统失败!", zap.Any("err", err)) global.GVA_LOG.Error("重启系统失败!", zap.Any("err", err))
response.FailWithMessage("重启系统失败", c) response.FailWithMessage("重启系统失败", c)
} else { return
response.OkWithMessage("重启系统成功", c)
} }
response.OkWithMessage("重启系统成功", c)
return
} }
// @Tags System // @Tags System
......
...@@ -12,5 +12,6 @@ func InitSystemRouter(Router *gin.RouterGroup) { ...@@ -12,5 +12,6 @@ func InitSystemRouter(Router *gin.RouterGroup) {
SystemRouter.POST("getSystemConfig", v1.GetSystemConfig) // 获取配置文件内容 SystemRouter.POST("getSystemConfig", v1.GetSystemConfig) // 获取配置文件内容
SystemRouter.POST("setSystemConfig", v1.SetSystemConfig) // 设置配置文件内容 SystemRouter.POST("setSystemConfig", v1.SetSystemConfig) // 设置配置文件内容
SystemRouter.POST("getServerInfo", v1.GetServerInfo) // 获取服务器信息 SystemRouter.POST("getServerInfo", v1.GetServerInfo) // 获取服务器信息
SystemRouter.POST("reloadSystem", v1.ReloadSystem) // 重启服务
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册