LoginForm.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace frontend\forms;
  3. use Yii;
  4. use common\enums\MemberTypeEnum;
  5. use common\models\member\Member;
  6. /**
  7. * Class LoginForm
  8. * @package frontend\models
  9. */
  10. class LoginForm extends \common\forms\LoginForm
  11. {
  12. /**
  13. * @inheritdoc
  14. */
  15. public function rules()
  16. {
  17. return [
  18. [['username', 'password'], 'required'],
  19. ['password', 'validatePassword'],
  20. ];
  21. }
  22. public function attributeLabels()
  23. {
  24. return [
  25. 'username' => '登录账号',
  26. 'password' => '登录密码',
  27. 'rememberMe' => '记住我',
  28. ];
  29. }
  30. /**
  31. * 邮箱或账号登录
  32. *
  33. * @return Member|mixed|null
  34. */
  35. public function getUser()
  36. {
  37. if ($this->_user == false) {
  38. if (strpos($this->username, "@")) {
  39. $this->_user = Yii::$app->services->member->findByCondition([
  40. 'email' => $this->username,
  41. 'type' => MemberTypeEnum::MEMBER,
  42. ]);
  43. } else {
  44. $this->_user = Yii::$app->services->member->findByCondition([
  45. 'username' => $this->username,
  46. 'type' => MemberTypeEnum::MEMBER,
  47. ]);
  48. }
  49. }
  50. return $this->_user;
  51. }
  52. }
粤ICP备19079148号