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

安装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’, ‘WechatController@serve’);

-控制器



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拓展包_第1张图片

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


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拓展包_第3张图片
laravel5.4 对接微信公众号使用laravel-wechat拓展包_第4张图片

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

你可能感兴趣的:(laravel,微信)