WechatCommonService.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. *
  4. * @file:WechatCommonSevice.php
  5. * @Date: 2023/7/7
  6. * @Time: 11:44
  7. */
  8. namespace Modules\WechatPlatform\Services;
  9. use Modules\Common\Services\BaseService;
  10. class WechatCommonService extends BaseService
  11. {
  12. /**
  13. * 播放页面地址
  14. * name: getPlayPageUrl
  15. * @param $videoId
  16. * @param $sequence
  17. * date 2023/07/07 11:52
  18. */
  19. public static function getPlayPageUrl($videoId,$sequence)
  20. {
  21. return ['url' => "/pages/video/index?video_id={$videoId}&sequence={$sequence}"];
  22. }
  23. /**
  24. * 微信消息推送处理
  25. * name: handleMessage
  26. * @param $app
  27. * @param $wechatAppId 微信公众号授权信息id
  28. * @param $message
  29. * @return string|void
  30. * date 2023/07/10 16:04
  31. */
  32. public static function handleMessage($app,$wechatAppId, $message)
  33. {
  34. switch ($message['MsgType']) {
  35. case 'event':
  36. return '收到事件消息';
  37. break;
  38. case 'text':
  39. // 更新用户活跃时间
  40. self::updateUserActivityTime($app,$message['FromUserName']);
  41. return self::handleTextMessage($wechatAppId,$message);
  42. break;
  43. case 'image':
  44. return '收到图片消息';
  45. break;
  46. case 'voice':
  47. return '收到语音消息';
  48. break;
  49. case 'video':
  50. return '收到视频消息';
  51. break;
  52. case 'location':
  53. return '收到坐标消息';
  54. break;
  55. case 'link':
  56. return '收到链接消息';
  57. break;
  58. case 'file':
  59. return '收到文件消息';
  60. default:
  61. return '收到其它消息';
  62. break;
  63. }
  64. }
  65. /**
  66. * 文本纤细处理
  67. * name: handleTextMessage
  68. * @param $appid
  69. * @param $content
  70. * date 2023/07/10 15:03
  71. */
  72. private static function handleTextMessage($wechatAppId, $msg)
  73. {
  74. $content = $msg['Content'];
  75. if ($content == "pk"){
  76. return $msg['FromUserName'] ;
  77. }
  78. $content = WechatKeywordsService::getKeywordsByWords($content,$wechatAppId);
  79. return $content ?: "";
  80. }
  81. private static function updateUserActivityTime($app, $openId)
  82. {
  83. $user = $app->user->get($openId);
  84. myLog("wx-xiaoxi")->info("拉取用户信息");
  85. myLog("wx-xiaoxi")->info($user);
  86. }
  87. }