官方文檔:https://www.easywechat.com/docs/4.x/overview
安裝插件
# Laravel < 5.8 composer require "overtrue/laravel-wechat:~4.0" # Laravel >= 5.8 composer require "overtrue/laravel-wechat:~5.0"
composer dump-autoload -o
push配置
php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"
增加.env配置公眾號設置
WECHAT_OFFICIAL_ACCOUNT_APPID=wx78ae5bb2XXXX WECHAT_OFFICIAL_ACCOUNT_SECRET=214f1ce332XXXX WECHAT_OFFICIAL_ACCOUNT_TOKEN=yishXXX WECHAT_OFFICIAL_ACCOUNT_AES_KEY=6lwDoXXXXXFDFEEEEEEEEE
微信公眾號接口配置信息

需要注意的是URL只能是80端口,對應代碼:
路由:
Route::any('/','WechatController@valid');//
控制器方法
//驗證簽名
public static function valid()
{
// Log::info('request arrived');
$app = app('wechat.official_account');
$app->server->push(function($message){
return "歡迎關注";
});
return $app->server->serve();
}
若要設置用戶授權菜單等需要在公眾號設置

否則會出現

控制器示例:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Log;
class WechatController extends Controller
{
/**獲取openid
* Author Allen
* DateTime 2021-03-12
* return [type] [description]
*/
public static function getOpenid()
{
$request = request()->all();
$validator = \Validator::make($request,[
'code' => 'required',
],[
'code.required' => '缺少code',
]);
if($validator->fails()){
$error = $validator->errors()->all()[0];
return response()->json(['code' => 600, 'msg' => $error]);
}
$app = app('wechat.official_account');
$result = $app->oauth->getAccessToken($request['code']);
if (!isset($result->openid)) {
return response()->json(['code' => 600, 'msg' => '獲取微信用戶信息失敗','result'=>$result]);
}
$openid=$user->openid;
// dd($openid);
// Log::info('request arrived');
return $openid;
}
//驗證簽名
public static function valid()
{
// Log::info('request arrived');
$app = app('wechat.official_account');
$app->server->push(function($message){
return "歡迎關注";
});
return $app->server->serve();
}
/**菜單創建
* Author Allen
* DateTime 2021-03-12
* return [type] [description]
*/
public static function menuCreate()
{
$app = app('wechat.official_account');
$buttons = [
[
"name" => "事務管理",
"sub_button" => [
[
"type" => "view",
"name" => "事務管理",
"url" => "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . config('wechat.official_account.default.app_id') . "&redirect_uri=" . urlencode('http://127.0.0.1/wechat/index') . "&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect",
],
],
],
];
$app->menu->create($buttons);
// $app->menu->delete();
// $list = $app->menu->list();
// $current = $app->menu->current();
// var_dump(json_encode($list,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES) );
// Log::info('request arrived');
return "創建成功";
}
}
