Files
nl_cms-api/internal/controller/admin.go
2025-07-29 12:45:07 +08:00

71 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package controller
import (
"cms-api/internal/model"
"cms-api/internal/service"
"github.com/gogf/gf/v2/net/ghttp"
)
// 管理员控制器
type cAdmin struct{}
var Admin = &cAdmin{}
// Login 管理员登录
func (c *cAdmin) Login(r *ghttp.Request) {
var req *model.LoginRequest
if err := r.Parse(&req); err != nil {
r.Response.WriteJson(&model.Response{Code: 400, Message: "参数解析失败", Data: err.Error()})
return
}
// 调用管理员服务进行登录验证
adminService := service.Admin()
result, err := adminService.Login(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})
}
// Logout 管理员登出
func (c *cAdmin) Logout(r *ghttp.Request) {
// 简单的登出处理清除token等
r.Response.WriteJson(&model.Response{Code: 200, Message: "登出成功"})
}
// Detail 获取管理员详情
func (c *cAdmin) Detail(r *ghttp.Request) {
// 调用管理员服务获取当前管理员信息
adminService := service.Admin()
result, err := adminService.Profile(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})
}
// Update 更新管理员信息
func (c *cAdmin) Update(r *ghttp.Request) {
var req *model.UpdateAdminRequest
if err := r.Parse(&req); err != nil {
r.Response.WriteJson(&model.Response{Code: 400, Message: "参数解析失败", Data: err.Error()})
return
}
// 调用管理员服务更新信息
adminService := service.Admin()
err := adminService.UpdateProfile(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: "更新成功"})
}