package auth import ( "github.com/gin-gonic/gin" v1 "github.com/runningwater/gohub/app/http/controllers/api/v1" "github.com/runningwater/gohub/app/models/user" "github.com/runningwater/gohub/app/requests" "github.com/runningwater/gohub/pkg/response" ) // SignupController 处理用户注册相关的逻辑 type SignupController struct { v1.BaseApiController } func (sc *SignupController) IsPhoneExist(c *gin.Context) { // 初始化请求对象 req := requests.SignupPhoneExistRequest{} if ok := requests.Validate(c, &req, requests.ValidateSignupPhoneExist); !ok { return } // 检查数据库并返回响应 response.JSON(c, gin.H{ "exist": user.IsPhoneExist(req.Phone), }) } func (sc *SignupController) IsEmailExist(c *gin.Context) { // 初始化请求对象 req := requests.SignupEmailExistRequest{} if ok := requests.Validate(c, &req, requests.ValidateSignupEmailExist); !ok { return } // 检查数据库并返回响应 response.JSON(c, gin.H{ "exist": user.IsEmailExist(req.Email), }) } // SignupUsingPhone 使用手机和验证码进行注册 func (sc *SignupController) SignupUsingPhone(c *gin.Context) { // 1. 验证表单 request := requests.SignupUsingPhoneRequest{} if ok := requests.Validate(c, &request, requests.SignupUsingPhone); !ok { return } // 2. 验证成功,创建数据 _user := user.User{ Name: request.Name, Phone: request.Phone, Password: request.Password, } _user.Create() if _user.ID > 0 { response.CreatedJSON(c, gin.H{ "data": _user, }) } else { response.Abort500(c, "创建用户失败,请稍后尝试~") } } // SignupUsingEmail 使用邮箱和验证码进行注册 func (sc *SignupController) SignupUsingEmail(c *gin.Context) { // 1. 验证表单 request := requests.SignupUsingEmailRequest{} if ok := requests.Validate(c, &request, requests.SignupUsingEmail); !ok { return } // 2. 验证成功,创建数据 _user := user.User{ Name: request.Name, Email: request.Email, Password: request.Password, } _user.Create() if _user.ID > 0 { response.CreatedJSON(c, gin.H{ "data": _user, }) } else { response.Abort500(c, "创建用户失败,请稍后尝试~") } }