Files
tyapi-server/internal/infrastructure/http/routes/user_routes.go

55 lines
1.6 KiB
Go
Raw Normal View History

2025-07-13 16:36:20 +08:00
package routes
import (
"tyapi-server/internal/infrastructure/http/handlers"
sharedhttp "tyapi-server/internal/shared/http"
"tyapi-server/internal/shared/middleware"
"go.uber.org/zap"
)
// UserRoutes 用户路由注册器
type UserRoutes struct {
handler *handlers.UserHandler
authMiddleware *middleware.JWTAuthMiddleware
logger *zap.Logger
}
// NewUserRoutes 创建用户路由注册器
func NewUserRoutes(
handler *handlers.UserHandler,
authMiddleware *middleware.JWTAuthMiddleware,
logger *zap.Logger,
) *UserRoutes {
return &UserRoutes{
handler: handler,
authMiddleware: authMiddleware,
logger: logger,
}
}
// Register 注册用户相关路由
func (r *UserRoutes) Register(router *sharedhttp.GinRouter) {
// 用户域路由组
engine := router.GetEngine()
usersGroup := engine.Group("/api/v1/users")
{
// 公开路由(不需要认证)
usersGroup.POST("/send-code", r.handler.SendCode) // 发送验证码
usersGroup.POST("/register", r.handler.Register) // 用户注册
usersGroup.POST("/login-password", r.handler.LoginWithPassword) // 密码登录
usersGroup.POST("/login-sms", r.handler.LoginWithSMS) // 短信验证码登录
2025-07-15 13:21:34 +08:00
usersGroup.POST("/reset-password", r.handler.ResetPassword) // 重置密码
2025-07-13 16:36:20 +08:00
// 需要认证的路由
authenticated := usersGroup.Group("")
authenticated.Use(r.authMiddleware.Handle())
{
authenticated.GET("/me", r.handler.GetProfile) // 获取当前用户信息
authenticated.PUT("/me/password", r.handler.ChangePassword) // 修改密码
}
}
r.logger.Info("用户路由注册完成")
}