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();
}
}
- 对接测试公众号(后台地址得上线无法本地测试)
将测试公众号的
appID
和appsecret
填入到.env
文件中,配置信息url
为微信的接口地址,Token
自己随意设置保证前后台一致即可
点击提交页面显示配置成功,我们的对接就算是成功了
- 对公众号进行测试,关注微信公众号
- 我们关注的时候,公众号回复了我们上面设置好的内容,我们的对接算是初步完成了。
- 但是我们在回复公众号的时候,他也会回复上面的那段话
- 这里我们关注和发消息都会触发自动返回消息,我们需要去分出消息的区别。我们对上面的代码进行修改,来测试我们两种事件的不同。
<?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"}
根据返回信息我们去官方文档查看:
- 这里我们知道了每个字段信息的意义了,我们可以通过消息类型去返回不同的信息
上一篇: 邮箱验证注册账号