user.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package mobile
  2. import (
  3. "errors"
  4. adminParam "zhiyuan/pkg/param/admin"
  5. "zhiyuan/pkg/utils"
  6. "zhiyuan/services/admin"
  7. "zhiyuan/services/form"
  8. )
  9. func CheckLogin(phone string, password string) (int, error) {
  10. where := map[string]interface{}{
  11. "phone": phone,
  12. "password": utils.MD5(password),
  13. }
  14. where["state"] = 1
  15. admin, err := admin.GetOne(where, nil, nil)
  16. if err != nil || admin == nil {
  17. return 0, errors.New("用户名或密码错误")
  18. }
  19. return admin.ID, nil
  20. }
  21. func Login(phone string, password string) (string, error) {
  22. adminID, err := CheckLogin(phone, password)
  23. if err != nil {
  24. return "", err
  25. }
  26. return admin.UpdateToken(adminID, adminParam.Entry.Mobile)
  27. }
  28. func Logout(id int) error {
  29. adminInfo, err := admin.GetInfoByID(id, []string{"id"}, nil)
  30. if err != nil || adminInfo == nil {
  31. return errors.New("invalid access_token")
  32. }
  33. return admin.ClearToken(adminInfo.ID, adminParam.Entry.Mobile)
  34. }
  35. func Password(id int, form form.Password) error {
  36. if err := admin.Password(id, form); err != nil {
  37. return err
  38. }
  39. return admin.ClearToken(id, adminParam.Entry.Mobile)
  40. }