🎨新增了设置相关的接口
This commit is contained in:
parent
4b864f76bb
commit
b51dfea18b
76
http/api/setting.go
Normal file
76
http/api/setting.go
Normal file
@ -0,0 +1,76 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"wireguard-ui/http/param"
|
||||
"wireguard-ui/http/response"
|
||||
"wireguard-ui/model"
|
||||
"wireguard-ui/service"
|
||||
)
|
||||
|
||||
type setting struct{}
|
||||
|
||||
func Setting() setting {
|
||||
return setting{}
|
||||
}
|
||||
|
||||
// Set
|
||||
// @description: 设置配置
|
||||
// @receiver setting
|
||||
// @param c
|
||||
func (setting) Set(c *gin.Context) {
|
||||
var p param.SetSetting
|
||||
if err := c.ShouldBind(&p); err != nil {
|
||||
response.R(c).Validator(err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := service.Setting().SetData(&model.Setting{
|
||||
Code: p.Code,
|
||||
Data: p.Data,
|
||||
}); err != nil {
|
||||
response.R(c).FailedWithError(err)
|
||||
return
|
||||
}
|
||||
|
||||
response.R(c).OK()
|
||||
}
|
||||
|
||||
// Delete
|
||||
// @description: 删除配置
|
||||
// @receiver setting
|
||||
// @param c
|
||||
func (setting) Delete(c *gin.Context) {
|
||||
code := c.Param("code")
|
||||
if code == "" || code == "undefined" {
|
||||
response.R(c).FailedWithError("code不能为空")
|
||||
return
|
||||
}
|
||||
|
||||
if err := service.Setting().Model(&model.Setting{}).Where("code = ?", code).Delete(&model.Setting{}).Error; err != nil {
|
||||
response.R(c).FailedWithError("删除失败")
|
||||
return
|
||||
}
|
||||
|
||||
response.R(c).OK()
|
||||
}
|
||||
|
||||
// GetSetting
|
||||
// @description: 获取指定配置
|
||||
// @receiver setting
|
||||
// @param c
|
||||
func (setting) GetSetting(c *gin.Context) {
|
||||
code := c.Query("code")
|
||||
if code == "" {
|
||||
response.R(c).FailedWithError("code不能为空")
|
||||
return
|
||||
}
|
||||
|
||||
var data *model.Setting
|
||||
if err := service.Setting().Model(&model.Setting{}).Where("code = ?", code).Take(&data).Error; err != nil {
|
||||
response.R(c).FailedWithError("获取指定配置失败")
|
||||
return
|
||||
}
|
||||
|
||||
response.R(c).OkWithData(data.Data)
|
||||
}
|
8
http/param/setting.go
Normal file
8
http/param/setting.go
Normal file
@ -0,0 +1,8 @@
|
||||
package param
|
||||
|
||||
// SetSetting
|
||||
// @description: 添加/编辑设置
|
||||
type SetSetting struct {
|
||||
Code string `json:"code" form:"code" binding:"required"`
|
||||
Data string `json:"data" form:"data" binding:"required"`
|
||||
}
|
@ -36,5 +36,6 @@ func Rooters() {
|
||||
LoginApi,
|
||||
UserApi,
|
||||
ClientApi,
|
||||
SettingApi,
|
||||
)
|
||||
}
|
||||
|
18
http/router/setting.go
Normal file
18
http/router/setting.go
Normal file
@ -0,0 +1,18 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"wireguard-ui/http/api"
|
||||
)
|
||||
|
||||
// SettingApi
|
||||
// @description: 设置相关API
|
||||
// @param r
|
||||
func SettingApi(r *gin.RouterGroup) {
|
||||
setting := r.Group("setting")
|
||||
{
|
||||
setting.POST("", api.Setting().Set) // 新增/编辑设置
|
||||
setting.DELETE("/:code", api.Setting().Delete) // 删除配置
|
||||
setting.GET("", api.Setting().GetSetting) // 获取指定配置
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user