auth_controller.go 866 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package controller
  2. import (
  3. "github.com/gogf/gf/v2/frame/g"
  4. "github.com/gogf/gf/v2/net/ghttp"
  5. "demo/api/v1/common"
  6. "demo/internal/service"
  7. )
  8. type AuthController struct {
  9. AuthService *service.AuthService
  10. }
  11. func NewAuthController() *AuthController {
  12. return &AuthController{
  13. AuthService: service.NewAuthService(),
  14. }
  15. }
  16. func (ac *AuthController) RegisterRoutes(s *ghttp.Server) {
  17. group := s.Group("/")
  18. // 登录路由
  19. group.GET("/login", ac.Login)
  20. }
  21. func (ac *AuthController) Login(r *ghttp.Request) {
  22. var req common.LoginReq
  23. // 绑定请求参数到结构体 LoginReq
  24. if err := r.Parse(&req); err != nil {
  25. r.Response.WriteJson(g.Map{
  26. "message": "Invalid request parameters",
  27. "error": err.Error(),
  28. })
  29. return
  30. }
  31. // 调用服务层的登录逻辑
  32. res := ac.AuthService.Login(&req)
  33. // 返回 JSON 数据
  34. r.Response.WriteJson(res)
  35. }