password_controller.go 758 B

1234567891011121314151617181920212223242526272829303132333435
  1. package auth
  2. import (
  3. "github.com/gin-gonic/gin"
  4. v1 "github.com/runningwater/gohub/app/http/controllers/api/v1"
  5. "github.com/runningwater/gohub/app/models/user"
  6. "github.com/runningwater/gohub/app/requests"
  7. "github.com/runningwater/gohub/pkg/response"
  8. )
  9. type PasswordController struct {
  10. v1.BaseApiController
  11. }
  12. func (pc *PasswordController) ResetByPhone(c *gin.Context) {
  13. // 1. 验证表单
  14. request := requests.ResetByPhoneRequest{}
  15. if ok := requests.Validate(c, &request, requests.ResetByPhone); !ok {
  16. return
  17. }
  18. // 2. 更新密码
  19. userModel := user.GetByPhone(request.Phone)
  20. if userModel.ID == 0 {
  21. // 404
  22. response.Abort404(c)
  23. } else {
  24. userModel.Password = request.Password
  25. userModel.Save()
  26. // 3. 成功
  27. response.Success(c)
  28. }
  29. }