:art:同步配置文件改为队列操作(没写完)
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"gitee.ltd/lxh/logger/log"
|
||||
"github.com/gin-gonic/gin"
|
||||
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
||||
"wireguard-dashboard/http/param"
|
||||
"wireguard-dashboard/model/entity"
|
||||
"wireguard-dashboard/repository"
|
||||
"wireguard-dashboard/utils"
|
||||
)
|
||||
@@ -12,6 +16,49 @@ func Server() server {
|
||||
return server{}
|
||||
}
|
||||
|
||||
// SaveServer
|
||||
// @description: 新增/更新服务端信息
|
||||
// @receiver server
|
||||
// @param c
|
||||
func (server) SaveServer(c *gin.Context) {
|
||||
var p param.SaveServer
|
||||
if err := c.ShouldBind(&p); err != nil {
|
||||
utils.GinResponse(c).FailedWithErr("参数错误", err)
|
||||
return
|
||||
}
|
||||
|
||||
var err error
|
||||
if p.Id != "" {
|
||||
if err = repository.Server().Update(p); err != nil {
|
||||
log.Errorf("更改服务端信息失败: %v", err.Error())
|
||||
}
|
||||
} else {
|
||||
privateKey, err := wgtypes.GeneratePrivateKey()
|
||||
if err != nil {
|
||||
utils.GinResponse(c).FailedWithMsg("生成密钥失败")
|
||||
return
|
||||
}
|
||||
publicKey := privateKey.PublicKey()
|
||||
if err = repository.Server().Save(&entity.Server{
|
||||
IpScope: p.IpScope,
|
||||
ListenPort: p.ListenPort,
|
||||
PrivateKey: privateKey.String(),
|
||||
PublicKey: publicKey.String(),
|
||||
PostUpScript: p.PostUpScript,
|
||||
PreDownScript: p.PreDownScript,
|
||||
PostDownScript: p.PostDownScript,
|
||||
}); err != nil {
|
||||
log.Errorf("新增服务端失败: %v", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
utils.GinResponse(c).FailedWithMsg("操作失败")
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// GetServer
|
||||
// @description: 获取服务端信息
|
||||
// @receiver wireguard
|
||||
@@ -19,8 +66,20 @@ func Server() server {
|
||||
func (server) GetServer(c *gin.Context) {
|
||||
data, err := repository.Server().GetServer()
|
||||
if err != nil {
|
||||
utils.GinResponse(c).FailedWithMsg("获取服务端信息失败")
|
||||
return
|
||||
log.Errorf("获取服务端信息失败: %v", err.Error())
|
||||
}
|
||||
|
||||
utils.GinResponse(c).OKWithData(data)
|
||||
}
|
||||
|
||||
// GetGlobalSetting
|
||||
// @description: 获取全局设置配置
|
||||
// @receiver server
|
||||
// @param c
|
||||
func (server) GetGlobalSetting(c *gin.Context) {
|
||||
data, err := repository.System().GetServerSetting()
|
||||
if err != nil {
|
||||
log.Errorf("获取配置失败: %v", err.Error())
|
||||
}
|
||||
|
||||
utils.GinResponse(c).OKWithData(data)
|
||||
|
||||
10
http/param/server.go
Normal file
10
http/param/server.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package param
|
||||
|
||||
type SaveServer struct {
|
||||
Id string `json:"id" form:"id" binding:"omitempty"` // id
|
||||
IpScope string `json:"ipScope" form:"ipScope" binding:"required"` // 内网ip范围段
|
||||
ListenPort int `json:"listenPort" form:"listenPort" binding:"required"` // 监听端口
|
||||
PostUpScript string `json:"postUpScript" form:"postUpScript" binding:"omitempty"`
|
||||
PreDownScript string `json:"preDownScript" form:"preDownScript" binding:"omitempty"`
|
||||
PostDownScript string `json:"postDownScript" form:"postDownScript" binding:"omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user