開發公眾號需要用到微信公眾平台的服務號,不能是訂閱號;因為訂閱號可能會對一些權限有限制;從而不能使用到安正超給我們提供的laravel-wechat當中的一些方法和package.
在開發公眾號之前我們需要在公眾平台的基本配置里面拿到AppId、AppSecret、URL、Token、AESkey.
1.安裝包文件:composer require "overtrue/laravel-wechat:~3.0"
2.配置:
(1)注冊 ServiceProvider
:
Overtrue\LaravelWechat\ServiceProvider::class,
(2)添加外觀到 config/app.php
中的 aliases
部分:
'EasyWeChat' => Overtrue\LaravelWechat\Facade::class,
(3)創建配置文件:
php artisan vendor:publish
創建成功之后進入到config/wehcat.php文件當中找到appid,secret,token;然后在.env文件中進行配置
然后創建路由:
Route::any('/wechat', 'WechatController@serve');
這里用到any請求的原因是因為是通過get請求驗證的,但后面發送消息是通過post請求發送的。
創建控制器WechatController:
<?php namespace App\Http\Controllers; 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到與服務器同步,再對之前公眾平台的基本配置進行提交,提交成功之后在接口權限中的網頁授權獲取用戶信息處點擊修改;把相對應的域名放上去,如果沒有放上去,它的權限也就獲取不到。