phpcxy / wechat-manager
wechat manager extension for laravel-admin
0.1.1
2019-07-25 06:37 UTC
Requires
- php: >=7.0.0
- encore/laravel-admin: ^1.7.3
- overtrue/laravel-wechat: ~4.0
Requires (Dev)
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-04-21 19:34:14 UTC
README
目前实现了简单的自定义菜单和自定义关键字回复功能
安装
composer require phpcxy/wechat-manager
发布资源
php artisan vendor:publish --tag=wechat-manager-migrations
数据迁移
php artisan migrate
发布菜单
php artisan admin:import wechat-manager
配置微信
在.env写入以下配置
WECHAT_OFFICIAL_ACCOUNT_APPID=公众号appid
WECHAT_OFFICIAL_ACCOUNT_SECRET=公众号app secret
WECHAT_OFFICIAL_ACCOUNT_TOKEN=token
WECHAT_OFFICIAL_ACCOUNT_AES_KEY=
使用说明
-
使用laravel-wechat调用微信SDK,具体使用请查看文档
-
菜单使用了model-tree来管理,编辑好菜单后点击
发布菜单
按钮进行发布 -
获取指定关键字的回复
$text = WechatManager::getReply('keyword');
即可返回该关键字设置的回复信息,如果该关键字有多个回复则会随机获取一个返回。
- 获取欢迎语回复
$text = WechatManager::getWelcomeReply();
使用laravel-wechat的话,可以在微信消息服务端那里这样使用
/**
* 接收微信消息和事件
* @param Request $request
* @return
*/
public function server(Request $request)
{
$wechat = app('wechat.official_account');
$wechat->server->push(function($message) {
$type = $message['MsgType'];
switch ($type) {
case 'text':
$content = $message['Content'];
$reply = WechatManager::getReply($content);
if ($reply) {
return $reply;
}
break;
case 'event':
// 菜单的点击回复使用了CLICK事件,所以需要在事件这里获取下回复内容
if ($message['Event'] === 'CLICK') {
$reply = WechatManager::getReply($message['EventKey'], 'menu');
if ($reply) {
return $reply;
}
}
break;
default:
return 'hello world';
break;
}
});
return $this->wechat->server->serve();
}