/** * 处理消息. * * @param int $account 公众号 * @param array $message 消息 * @param Overtrue\Wechat\Server $server server * * @return Response */ private function handleMessage($account, $message, $server) { //存储消息 $this->messageService->storeMessage($account, $message); //属于文字类型消息 if ($message['MsgType'] == 'text') { $replies = Cache::get('replies_' . $account->id); foreach ($replies as $key => $reply) { //查找字符串 if (str_contains($message['Content'], $key)) { return $this->messageService->eventsToMessage($reply['content']); } } return $this->handleNoMatch($account); } }
/** * 未匹配时的默认回复. * * @param AccountModel $account 公众号 * @param array $message 消息 * * @return Response */ private function handleDefault(AccountModel $account, $message) { $reply = $this->replyRepository->skipCriteria()->getDefaultReply($account->id); return $this->messageService->makeText($reply['content']); }