第一版完成
This commit is contained in:
70
internal/controller/admin.go
Normal file
70
internal/controller/admin.go
Normal file
@@ -0,0 +1,70 @@
|
||||
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: "更新成功"})
|
||||
}
|
||||
Reference in New Issue
Block a user