欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

laravel5.4 对接微信公众号使用laravel-wechat拓展包

程序员文章站 2024-03-20 10:42:22
...

安装laravel-wechat

composer require “overtrue/laravel-wechat:~3.0”

config/app.php中进行注册

  • providers中加入

Overtrue\LaravelWechat\ServiceProvider::class,

  • aliases中加入

‘EasyWeChat’=>Overtrue\LaravelWechat\Facade::class,

  • 创建配置文件

php artisan vendor:publish --provider=“Overtrue\LaravelWechat\ServiceProvider”

  • 在.ENV中配置公众号混口配置信息【可百度搜索公众号测试申请测试公众号】获取参数

WECHAT_APPID=xxxxxxxx
WECHAT_SECRET=xxxxxx
WECHAT_TOKEN=mi

  • 接口路由配置

Route::any(’/wechat’, ‘aaa@qq.com’);

-控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class WechatController extends Controller
{
    public function serve()
    {
        $wechat = app('wechat');
        $wechat->server->setMessageHandler(function($message){
            return "欢迎关注 overtrue!";
        });
        return $wechat->server->serve();
    }
}
  • 对接测试公众号(后台地址得上线无法本地测试)

将测试公众号的appIDappsecret填入到.env文件中,配置信息url为微信的接口地址,Token自己随意设置保证前后台一致即可
点击提交页面显示配置成功,我们的对接就算是成功了

laravel5.4 对接微信公众号使用laravel-wechat拓展包

  • 对公众号进行测试,关注微信公众号
    laravel5.4 对接微信公众号使用laravel-wechat拓展包
  • 我们关注的时候,公众号回复了我们上面设置好的内容,我们的对接算是初步完成了。
  • 但是我们在回复公众号的时候,他也会回复上面的那段话
    laravel5.4 对接微信公众号使用laravel-wechat拓展包
  • 这里我们关注和发消息都会触发自动返回消息,我们需要去分出消息的区别。我们对上面的代码进行修改,来测试我们两种事件的不同。
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class WechatController extends Controller
{
    public function serve()
    {
        $wechat = app('wechat');
        $wechat->server->setMessageHandler(function($message){
//            return "欢迎关注 overtrue!";
            $ts = collect($message)->toArray();
            return json_encode($ts);
        });
        return $wechat->server->serve();
    }
}
  • 关注查看返回信息:
{"ToUserName":"gh_d49359369c54","FromUserName":"ocKt91aFJDWd50BBImTgbiYOih5Y",
"CreateTime":"1575274637","MsgType":"event","Event":"subscribe","EventKey":null}
  • 消息查看返回信息:
{"ToUserName":"gh_d49359369c54","FromUserName":"ocKt91aFJDWd50BBImTgbiYOih5Y",
"CreateTime":"1575274597","MsgType":"text","Content":"\u5929\u5929","MsgId":"22552512450000605"}

根据返回信息我们去官方文档查看:
laravel5.4 对接微信公众号使用laravel-wechat拓展包
laravel5.4 对接微信公众号使用laravel-wechat拓展包

  • 这里我们知道了每个字段信息的意义了,我们可以通过消息类型去返回不同的信息