PsFactory.php 903 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace app\common\behavior;
  3. use app\common\model\ps\Factory;
  4. use app\common\model\User;
  5. /**
  6. * 注册成功后建厂或凭邀请码入厂
  7. */
  8. class PsFactory
  9. {
  10. /**
  11. * ThinkPHP 行为默认入口
  12. * @param User $user
  13. * @param mixed $data
  14. */
  15. public function run($user, $data = [])
  16. {
  17. $this->userRegisterSuccessed($user, $data);
  18. }
  19. /**
  20. * @param User $user
  21. * @param mixed $data
  22. */
  23. public function userRegisterSuccessed($user, $data = [])
  24. {
  25. if (!$user instanceof User) {
  26. return;
  27. }
  28. $invite = '';
  29. if (is_array($data) && isset($data['invite_code'])) {
  30. $invite = trim($data['invite_code']);
  31. }
  32. if ($invite === '' && request()) {
  33. $invite = (string)request()->post('invite_code', '');
  34. }
  35. Factory::ensureBound($user, $invite);
  36. }
  37. }