开发公众号需要用到微信公众平台的服务号,不能是订阅号;因为订阅号可能会对一些权限有限制;从而不能使用到安正超给我们提供的laravel-wechat当中的一些方法和package.
在开发公众号之前我们需要在公众平台的基本配置里面拿到AppId、AppSecret、URL、Token、AESkey.
1.安装包文件:composer require "overtrue/laravel-wechat:~3.0"
2.配置:
(1)注册 ServiceProvider
:
OvertrueLaravelWechatServiceProvider::class,
(2)添加外观到 config/app.php
中的 aliases
部分:
'EasyWeChat' => OvertrueLaravelWechatFacade::class,
(3)创建配置文件:
php artisan vendor:publish
创建成功之后进入到config/wehcat.php文件当中找到appid,secret,token;然后在.env文件中进行配置
然后创建路由:
Route::any('/wechat', 'WechatController@serve');
这里用到any请求的原因是因为是通过get请求验证的,但后面发送消息是通过post请求发送的。
创建控制器WechatController:
<?php
namespace AppHttpControllers;
use Log;
class WechatController extends Controller
{
/**
* 处理微信的请求消息
*
* @return string
*/
public function serve()
{
Log::info('request arrived.'); # 注意:Log 为 Laravel 组件,所以它记的日志去 Laravel 日志看,而不是 EasyWeChat 日志
$wechat = app('wechat');
$wechat->server->setMessageHandler(function($message){
return "欢迎关注 overtrue!";
});
Log::info('return response.');
return $wechat->server->serve();//这一句是对微信进行了验证
}
}
最后把这一段代码publish到与服务器同步,再对之前公众平台的基本配置进行提交,提交成功之后在接口权限中的网页授权获取用户信息处点击修改;把相对应的域名放上去,如果没有放上去,它的权限也就获取不到。