目标
本文的目标是实现与微信服务器的通信。
环境
- MacOS
- Laravel 5.1
- Vue.js 2.1
- EasyWeChat
安装 EasyWechat
1
| composer require "overtrue/laravel-wechat:~3.0"
|
配置
- 注册 ServiceProvider:
- Overtrue\LaravelWechat\ServiceProvider::class,
- 创建配置文件
- php artisan vendor:publish
- 修改 config/wechat.php
- app_id:微信测试号 appID
- secret:微信测试号 appsecret
- token:自定义,要与微信测试号填写的 Token 保持一致
- aes_key:加密信息用的,本文采用明文的方式,暂不填写
创建微信分组路由
修改文件 app/Http/routes.php,代码如下:
1 2 3 4 5 6 7
| Route::group([ 'prefix' => 'wechat', 'namespace' => 'WeChat', 'middleware' => [], ], function() { require_once __DIR__ . '/Routes/wechat.php'; });
|
新增文件 app/Http/Routes/wechat.php,代码如下:
1
| Route::any('/request-handler', 'WeChatServerController@requestHandler');
|
关闭路由 CSRF
修改文件 app/Http/Middleware/VerifyCSsrfToken.php,代码如下:
1 2 3
| protected $except = [ '/wechat/request-handler' ];
|
创建控制器
新增文件 app/Http/Controllers/WeChat/WeChatServerController.php,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?php namespace App\Http\Controllers\WeChat; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use EasyWeChat\Foundation\Application as WeChat; class WeChatServerController extends Controller { public function requestHandler(WeChat $weChat) { $weChat->server->setMessageHandler(function($message) { return "欢迎关注 {$message}!"; }); return $weChat->server->serve(); } }
|
验证
- 配置微信公众平台测试号
- 接口配置信息
- URL:域名/wechat
- Token:自定义,要与 wechat.php 文件的 token 一致
- JS 接口安全域名
- 填写域名,例如 baidu.com ,不需要写 www 和 http[s]://
- 测试号二维码
URL 和 Token 通过验证之后,关注微信公众平台测试号,并发送测试消息,成功的话,如下图: