// =========================================== // 多班级版班级管理系统 - Go 后端 // // 开发者: Canglan // 联系方式: admin@sea-studio.top // 版权归属: Sea Network Technology Studio // 许可证: Apache License 2.0 // // 版权所有 © Sea Network Technology Studio // =========================================== package handler import ( "github.com/gin-gonic/gin" "hz-gitea.sea-studio.top/canglan/SharedClassManager/internal/schema" "hz-gitea.sea-studio.top/canglan/SharedClassManager/internal/service" "hz-gitea.sea-studio.top/canglan/SharedClassManager/pkg/response" ) // SuperAdminHandler 超级管理员处理器 type SuperAdminHandler struct { superAdminService *service.SuperAdminService } // NewSuperAdminHandler 创建超级管理员处理器 func NewSuperAdminHandler(superAdminService *service.SuperAdminService) *SuperAdminHandler { return &SuperAdminHandler{superAdminService: superAdminService} } // Login 超级管理员登录 func (h *SuperAdminHandler) Login(c *gin.Context) { var req schema.LoginRequest if err := c.ShouldBindJSON(&req); err != nil { response.BadRequest(c, "参数错误") return } ip := c.ClientIP() userAgent := c.GetHeader("User-Agent") result, err := h.superAdminService.Login(req.Username, req.Password, ip, userAgent) if err != nil { response.InternalError(c, err.Error()) return } success, ok := result["success"].(bool) if !ok || !success { msg, _ := result["message"].(string) response.Unauthorized(c, msg) return } response.Success(c, result, "登录成功") }