dodgepudding / wechat-php-sdk

微信公众平台php开发包, weixin developer SDK.
4.44k stars 2.33k forks source link

老大,怎么通过reply()函数,发送多条消息。 #278

Open trock opened 8 years ago

trock commented 8 years ago

老大,请问一下,项目里面需要给用户发送三条消息,目前写的代码如下: case Wechat::EVENT_SUBSCRIBE: $this->weObj->text("第一条消息")->reply(); $this->weObj->text('第二条消息')->reply(); $this->weObj->text('第三条消息')->reply(); } 如上写法不能成功,只能给用户发送第一条消息,不知道是不是这样用的,想请教一下如果需要给用户发送多少消息应该怎么编写代码。不胜感谢!

rollandlau commented 8 years ago

是不能直接这样回复的 因为对用户的回复,是微信服务器对你的服务器的一次HTTP请求中的HTTP response,所以不能多次回复 比较可行的方案是调用sendCustomMessage发送

在 2016年1月3日 下午8:01,trock notifications@github.com写道:

老大,请问一下,项目里面需要给用户发送三条消息,目前写的代码如下: case Wechat::EVENT_SUBSCRIBE: $this->weObj->text("第一条消息")->reply(); $this->weObj->text('第二条消息')->reply(); $this->weObj->text('第三条消息')->reply(); } 如上写法不能成功,只能给用户发送第一条消息,不知道是不是这样用的,想请教一下如果需要给用户发送多少消息应该怎么编写代码。不胜感谢!

— Reply to this email directly or view it on GitHub https://github.com/dodgepudding/wechat-php-sdk/issues/278.


刘哲 Roland Lau

mr-liusg commented 8 years ago

我的做法是收到消息存入队列,之后马上返回200给微信服务器(防止请求超时),再在后台对刚才记录的队列逐一回复,使用sendCustomMessage回复用户(sendCustomMessage速度比较慢)