MessageSubscribe.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace crmeb\subscribes;
  3. use app\admin\model\wechat\WechatMessage;
  4. use app\models\user\WechatUser;
  5. /**
  6. * 用户消息事件
  7. * Class MessageSubscribe
  8. * @package crmeb\subscribes
  9. */
  10. class MessageSubscribe
  11. {
  12. public function handle()
  13. {
  14. }
  15. /**
  16. * 微信消息前置操作
  17. * @param $event
  18. */
  19. public function onWechatMessageBefore($event)
  20. {
  21. list($message) = $event;
  22. WechatUser::saveUser($message->FromUserName);
  23. $event = isset($message->Event) ?
  24. $message->MsgType.(
  25. $message->Event == 'subscribe' && isset($message->EventKey) ? '_scan' : ''
  26. ).'_'.$message->Event : $message->MsgType;
  27. WechatMessage::setMessage(json_encode($message),$message->FromUserName,strtolower($event));
  28. }
  29. /**
  30. * 用户取消关注公众号前置操作
  31. * @param $event
  32. */
  33. public function onWechatEventUnsubscribeBefore($event)
  34. {
  35. list($message) = $event;
  36. WechatUser::unSubscribe($message->FromUserName);
  37. }
  38. }