700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > laravel+easywechat对接微信公众号自动回复图文消息

laravel+easywechat对接微信公众号自动回复图文消息

时间:2020-01-13 06:39:35

相关推荐

laravel+easywechat对接微信公众号自动回复图文消息

laravel+easywechat对接微信公众号自动回复图文消息

图文回复消息创建对接数据库根据关键词返回图文信息前面我们对接配置了微信公众号,laravel5.4 对接微信公众号使用laravel-wechat拓展包,并实现的简单的消息回复功能但是这种回复功能过于简陋单一,不够灵活,我们很多时候是根据用户的关键字再以图文的方式展现给用户

图文回复消息创建

根据easywechat官网的文档,我们找到了图文回复需要引用News类,根据文档的例子,创建单个图文消息

<?phpnamespace App\Http\Controllers;use App\Article;use Illuminate\Http\Request;use EasyWeChat\Message;class WechatController extends Controller{public function serve(){$wechat = app('wechat');$wechat->server->setMessageHandler(function($message){$tt =new Message\News();$tt->title = "一个失败的网恋故事";$tt->url = '/show/71';$tt->description = '就是十一月份的某一天晚上,在距离那么远的他,和我在一起了,现在想来,都感到很不可思议的样子。';$tt->image ='/iigMws8sJTHKm6hu5oFJcVOVwYPYPIKB18mR6cZd.jpeg';return $tt;});return $wechat->server->serve();}}

我们在微信公众号进行测试,返回了我们组装的图文信息:

对接数据库根据关键词返回图文信息

区分关注和消息事件,选择回复根据关键词查询数据库,组装图文信息返回

<?phpnamespace App\Http\Controllers;use App\Article;use Illuminate\Http\Request;use EasyWeChat\Message;class WechatController extends Controller{public function serve(){$wechat = app('wechat');$wechat->server->setMessageHandler(function($message){//关注if ($message['MsgType']=='event'){if ($message['Event']=='subscribe'){return "感谢关注,请回复关键字,获取文章";}}if ($message['MsgType']=='text'){$article = Article::where('title','like','%'.$message['Content'].'%')->first();if ($article){$tt =new Message\News();$tt->title = $article->title;$tt->url = '/show/'.$article->id;$tt->description = $article->description;$tt->image =$article->image;return $tt;}else{$article = Article::inRandomOrder()->first();$tt = new Message\News(['title'=>$article->title,'url'=>'/show/'.$article->id,'description'=>$article->description,'image'=>$article->image]);return $tt;}}});return $wechat->server->serve();}}

根据用户输入的关键词返回了相应的图文信息,一个简单的自动回复功能就完成了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。