PHPackages                             fanlibang/laravel-wechat - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. fanlibang/laravel-wechat

ActiveLibrary[API Development](/categories/api)

fanlibang/laravel-wechat
========================

微信 SDK for Laravel

00PHP

Since Nov 28Pushed 8y ago1 watchersCompare

[ Source](https://github.com/fanlibang/wechat)[ Packagist](https://packagist.org/packages/fanlibang/laravel-wechat)[ RSS](/packages/fanlibang-laravel-wechat/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

laravel-wechat
==============

[](#laravel-wechat)

> 注意：此版本为未发布的 4.x 版本，不兼容 3.x，与 [overtrue/wechat 4.x](https://github.com/overtrue/wechat) 同步

如果你用的 3.x 版本，请从这里查看文档

微信 SDK for Laravel 5 / Lumen， 基于 [overtrue/wechat](https://github.com/overtrue/wechat)

> 交流QQ群：319502940

 **创造不息，交付不止**
 [ ![](https://camo.githubusercontent.com/4823e192edc17179b00fabdb229806b31b8a761dec0e6a0361bd3bf9b03fad8f/68747470733a2f2f796f757361696c732e636f6d2f62616e6e6572732f6272616e642e706e67) ](https://www.yousails.com)

安装
--

[](#安装)

1. 安装包文件

> !!! 注意，4.0 还没发布！所以下面的命令是装不上的，你要试用 4.0，请将 4.0 改成 dev-master

```
composer require "overtrue/laravel-wechat:~4.0"
```

配置
--

[](#配置)

### Laravel 应用

[](#laravel-应用)

1. 注册 `ServiceProvider`(5.5+ 版本不需要手动注册):

```
Overtrue\LaravelWeChat\ServiceProvider::class,
```

2. 创建配置文件：

```
// 3.x
php artisan vendor:publish --provider="Overtrue\LaravelWechat\ServiceProvider"

// 4.0
php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"
```

3. 请修改应用根目录下的 `config/wechat.php` 中对应的项即可；
4. （可选）添加外观到 `config/app.php` 中的 `aliases` 部分:

```
'EasyWeChat' => Overtrue\LaravelWeChat\Facade::class,
```

### Lumen 应用

[](#lumen-应用)

1. 在 `bootstrap/app.php` 中 82 行左右：

```
// 3.0
$app->register(Overtrue\LaravelWechat\ServiceProvider::class);
// 4.0
$app->register(Overtrue\LaravelWeChat\ServiceProvider::class);
```

2. 如果你习惯使用 `config/wechat.php` 来配置的话，将 `vendor/overtrue/laravel-wechat/src/config.php` 拷贝到`app/config`目录下，并将文件名改成`wechat.php`。

使用
--

[](#使用)

### Laravel &lt;= 5.1

[](#laravel--51)

1. Laravel 5 起默认启用了 CSRF 中间件，因为微信的消息是 POST 过来，所以会触发 CSRF 检查导致无法正确响应消息，所以请去除默认的 CSRF 中间件，改成路由中间件。可以参考我的写法：[overtrue gist:Kernel.php](https://gist.github.com/overtrue/ff6cd3a4e869fbaf6c01#file-kernel-php-L31)
2. 5.1 里的 CSRF 已经带了可忽略部分url的功能，你可以参考：

### Laravel 5.2+

[](#laravel-52)

Laravel 5.2 以后的版本默认启用了 web 中间件，意味着 CSRF 会默认打开，有两种方案：

1. 在 CSRF 中间件里排除微信相关的路由
2. 关掉 CSRF 中间件（极不推荐）

下面以接收普通消息为例写一个例子：

> 假设您的域名为 `overtrue.me` 那么请登录微信公众平台 “开发者中心” 修改 “URL（服务器配置）” 为： `http://overtrue.me/wechat`。

路由：

```
Route::any('/wechat', 'WeChatController@serve');
```

> 注意：一定是 `Route::any`, 因为微信服务端认证的时候是 `GET`, 接收用户消息时是 `POST` ！

然后创建控制器 `WeChatController`：

```
