LoginForm.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace api\modules\v1\forms;
  3. use Yii;
  4. use common\enums\MemberTypeEnum;
  5. use common\enums\AccessTokenGroupEnum;
  6. /**
  7. * Class LoginForm
  8. * @package api\modules\v1\forms
  9. * @author jianyan74 <751393839@qq.com>
  10. */
  11. class LoginForm extends \common\forms\LoginForm
  12. {
  13. public $group;
  14. /**
  15. * @inheritdoc
  16. */
  17. public function rules()
  18. {
  19. return [
  20. [['username', 'password', 'group'], 'required'],
  21. ['password', 'validatePassword'],
  22. ['group', 'in', 'range' => AccessTokenGroupEnum::getKeys()]
  23. ];
  24. }
  25. public function attributeLabels()
  26. {
  27. return [
  28. 'username' => '登录帐号',
  29. 'password' => '登录密码',
  30. 'group' => '组别',
  31. ];
  32. }
  33. /**
  34. * 用户登录
  35. *
  36. * @return mixed|null|static
  37. */
  38. public function getUser()
  39. {
  40. if ($this->_user == false) {
  41. // email 登录
  42. if (strpos($this->username, "@")) {
  43. $this->_user = Yii::$app->services->member->findByCondition([
  44. 'type' => MemberTypeEnum::MEMBER,
  45. 'email' => $this->username
  46. ]);
  47. } else {
  48. $this->_user = Yii::$app->services->member->findByCondition([
  49. 'type' => MemberTypeEnum::MEMBER,
  50. 'username' => $this->username
  51. ]);
  52. }
  53. }
  54. return $this->_user;
  55. }
  56. }
粤ICP备19079148号