Browse Source

新增api重启系统(支持非windows)

修改
- server/api/v1/sys_system.go
- server/router/sys_system.go
main
songzhibin97 4 years ago
parent
commit
f42e3a2441
  1. 22
      server/api/v1/sys_system.go
  2. 1
      server/router/sys_system.go

22
server/api/v1/sys_system.go

@ -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) {
} }
} }
// 本方法开发中 开发者windows系统 缺少linux系统所需的包 因此搁置
// @Tags System // @Tags System
// @Summary 重启系统 // @Summary 重启系统
// @Security ApiKeyAuth // @Security ApiKeyAuth
@ -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
_ = c.ShouldBindJSON(&sys)
if err := service.SetSystemConfig(sys); err != nil {
if runtime.GOOS == "windows" {
response.FailWithMessage("系统不支持", c)
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 {
response.OkWithMessage("重启系统成功", c)
return
} }
response.OkWithMessage("重启系统成功", c)
return
} }
// @Tags System // @Tags System

1
server/router/sys_system.go

@ -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) // 获取服务器信息
} }
} }
Loading…
Cancel
Save