LoginEvent.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Wechat\Official\Event\Scan;
  3. use App\Models\Company;
  4. use App\Models\Member;
  5. use App\Wechat\Official\Event\EventInterface;
  6. use Illuminate\Support\Facades\Cache;
  7. /**
  8. * 公众号扫码登录事件
  9. * Class LoginEvent
  10. * @package App\Wechat\Official\Event\Scan
  11. * Auth Zhong
  12. * Date 2019-05-08
  13. */
  14. class LoginEvent implements EventInterface
  15. {
  16. /**
  17. * @param array $wechatUser 从微信里获取的用户基本信息
  18. * @param bool|Company|Member $user 有没有绑定系统用户,false为未绑定,否则为对应的用户模型
  19. * @param array $payload 该事件的参数
  20. * @return mixed
  21. * @throws \App\Exceptions\ResponseException
  22. */
  23. public function handle(array $wechatUser, $user, array $payload)
  24. {
  25. if ($user) {
  26. Cache::put($payload['Ticket'], $user, 60);
  27. $url=route('mobile.auth.thirdlogin.official.login_to_web', ['ticket'=>$payload['Ticket']]);
  28. return <<<EOT
  29. <a href='$url'>点此立即登录</a>
  30. EOT;
  31. } else {
  32. return "您还没有绑定账号,请先绑定账号:\n".
  33. "<a href='".route('mobile.auth.thirdlogin.official')."'>点此立即绑定</a>";
  34. }
  35. }
  36. }