package controller import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "demo/api/v1/common" "demo/internal/service" ) type AuthController struct { AuthService *service.AuthService } func NewAuthController() *AuthController { return &AuthController{ AuthService: service.NewAuthService(), } } func (ac *AuthController) RegisterRoutes(s *ghttp.Server) { group := s.Group("/") // 登录路由 group.GET("/login", ac.Login) } func (ac *AuthController) Login(r *ghttp.Request) { var req common.LoginReq // 绑定请求参数到结构体 LoginReq if err := r.Parse(&req); err != nil { r.Response.WriteJson(g.Map{ "message": "Invalid request parameters", "error": err.Error(), }) return } // 调用服务层的登录逻辑 res := ac.AuthService.Login(&req) // 返回 JSON 数据 r.Response.WriteJson(res) }