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: "更新成功"}) }