wechat extension for Yii2. this is base on EasyWechat
composer require --prefer-dist tsingsun/yii2-easy-wechat
'components' => [
'cache' => [
'class'=>'yii\caching\FileCache',
'keyPrefix' => 'yak',
],
'wechat'=>[
'class'=>'yii\easyWechat\Wechat',
//the config is all most match the easyWechat office's config,
//the diffenrece please see Notice
'config'=>[
'debug' => true,
'app_id'=>'',
'secret'=>'',
'token'=>'',
'aes_key'=>'',
'payment'=>[
'merchant_id'=>'',
'key'=>'',
'cert_path'=>'',
'key_path'=>'',
'notify_url'=>''
],
'oauth' => [
'scopes' => ['snsapi_userinfo'],
'callback' => '/examples/oauth_callback.php',
],
'guzzle' => [
'timeout' => 3.0, //
//'verify' => false, // close SSL verify(not suggust!!!)
],
/**
* Cache,if not set ,use Yii default config cache
*/
'cache'=>[
],
],
],
'log'=>[
'targets' => [
[
'class' => 'yii\log\FileTarget',
'maxFileSize'=> 200,
'levels' => [],
'logVars' => [],
'logFile' => '@runtime/logs/'.date('ymd').'.log',
],
]
],
]
There are some change to better match for yii
- use Yii Logger component instead of EasyWechat default logger;
- use Yii Cache component instead of EasyWechat default Cache that based on \Doctrine\Common\Cache\Cache.
//after configure,use it as bellow
/**
* @var Wechat $wechat use @var doc attribute to code lint
**/
$wechat = Yii::$app->get('wechat');
//$wechat->app is Easywechat's Application instance
$wechat->app->server->setMessageHandler(function ($message) {
return "hello world!welcome!";
});
$wechat->app->server()->send();
In the unit test process, also discovered the WeChat development debugging egg pain, because also combed the test better practice The tests are centered in the test directory. Go to the directory 测试说明