user.go 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package service
  2. import (
  3. "errors"
  4. "github.com/astaxie/beego/orm"
  5. "nginx-ui/server/models"
  6. "nginx-ui/server/utils"
  7. )
  8. type UserService struct {
  9. }
  10. func NewUserService() *UserService {
  11. return &UserService{}
  12. }
  13. func (u *UserService) Login(user models.User) models.RespData {
  14. cipherPassword := user.Password
  15. o := orm.NewOrm()
  16. err := o.Read(&user, "Account")
  17. if err != nil {
  18. return models.NewErrorResp(err)
  19. }
  20. encryptPassword := utils.GetSHA256HashCode(cipherPassword)
  21. if encryptPassword != user.Password {
  22. return models.ErrorResp("用户名或者密码不正确!")
  23. }
  24. user.Password = ""
  25. return models.SuccessResp(user)
  26. }
  27. func (u *UserService) SignUp(user models.User) error {
  28. if len(user.Account) == 0 || len(user.Password) == 0 {
  29. return errors.New("账号或者密码不能为空!")
  30. }
  31. if len(user.Nickname) == 0 {
  32. user.Nickname = user.Account
  33. }
  34. user.Password = utils.GetSHA256HashCode(user.Password)
  35. o := orm.NewOrm()
  36. _, err := o.Insert(&user)
  37. return err
  38. }