72 lines
2.0 KiB
Go
72 lines
2.0 KiB
Go
package controller
|
|
|
|
import (
|
|
"cms-api/internal/model"
|
|
"cms-api/internal/service"
|
|
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
)
|
|
|
|
// 网站配置控制器
|
|
type cConfig struct{}
|
|
|
|
var Config = &cConfig{}
|
|
|
|
// List 获取配置列表
|
|
func (c *cConfig) List(r *ghttp.Request) {
|
|
var req *model.ConfigListRequest
|
|
if err := r.Parse(&req); err != nil {
|
|
r.Response.WriteJson(&model.Response{Code: 400, Message: "参数解析失败", Data: err.Error()})
|
|
return
|
|
}
|
|
|
|
// 调用配置服务获取列表
|
|
configService := service.Config()
|
|
result, err := configService.List(r.Context(), req)
|
|
if err != nil {
|
|
r.Response.WriteJson(&model.Response{Code: 500, Message: "获取配置列表失败", Data: err.Error()})
|
|
return
|
|
}
|
|
|
|
r.Response.WriteJson(&model.Response{Code: 200, Message: "获取成功", Data: result})
|
|
}
|
|
|
|
// Update 更新配置
|
|
func (c *cConfig) Update(r *ghttp.Request) {
|
|
id := gconv.Int(r.Get("id"))
|
|
if id <= 0 {
|
|
r.Response.WriteJson(&model.Response{Code: 400, Message: "配置ID无效"})
|
|
return
|
|
}
|
|
|
|
var req *model.UpdateConfigRequest
|
|
if err := r.Parse(&req); err != nil {
|
|
r.Response.WriteJson(&model.Response{Code: 400, Message: "参数解析失败", Data: err.Error()})
|
|
return
|
|
}
|
|
|
|
// 调用配置服务更新配置
|
|
configService := service.Config()
|
|
err := configService.Update(r.Context(), gconv.String(id), req)
|
|
if err != nil {
|
|
r.Response.WriteJson(&model.Response{Code: 500, Message: "更新配置失败", Data: err.Error()})
|
|
return
|
|
}
|
|
|
|
r.Response.WriteJson(&model.Response{Code: 200, Message: "更新配置成功"})
|
|
}
|
|
|
|
// Public 获取公开配置
|
|
func (c *cConfig) Public(r *ghttp.Request) {
|
|
// 调用配置服务获取公开配置
|
|
configService := service.Config()
|
|
result, err := configService.GetPublicConfigs(r.Context())
|
|
if err != nil {
|
|
r.Response.WriteJson(&model.Response{Code: 500, Message: "获取公开配置失败", Data: err.Error()})
|
|
return
|
|
}
|
|
|
|
r.Response.WriteJson(&model.Response{Code: 200, Message: "获取成功", Data: result})
|
|
}
|