You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.7 KiB
66 lines
1.7 KiB
<?php |
|
/** |
|
* Created by IntelliJ IDEA. |
|
* User: luwei |
|
* Date: 2017/6/14 |
|
* Time: 9:32 |
|
*/ |
|
|
|
namespace app\controllers; |
|
|
|
use app\behaviors\BargainBehavior; |
|
use app\behaviors\LotteryBehavior; |
|
use app\behaviors\CouponBehavior; |
|
use app\behaviors\OrderBehavior; |
|
use app\behaviors\PintuanBehavior; |
|
use app\behaviors\PluginBehavior; |
|
use yii\web\Response; |
|
use app\hejiang\ValidationErrorResponse; |
|
|
|
class Controller extends \yii\web\Controller |
|
{ |
|
public function behaviors() |
|
{ |
|
return [ |
|
'order' => [ |
|
'class' => OrderBehavior::className(), |
|
], |
|
'coupon' => [ |
|
'class' => CouponBehavior::className(), |
|
], |
|
'pintuan' => [ |
|
'class' => PintuanBehavior::className(), |
|
], |
|
'bargain' => [ |
|
'class' => BargainBehavior::className(), |
|
], |
|
'lottery' => [ |
|
'class' => LotteryBehavior::className(), |
|
], |
|
'plugin' => [ |
|
'class' => PluginBehavior::className(), |
|
], |
|
]; |
|
} |
|
|
|
public function init() |
|
{ |
|
\Yii::$app->response->on(Response::EVENT_BEFORE_SEND, [$this, 'beforeSend']); |
|
} |
|
|
|
/** |
|
* @param \yii\base\Event $event |
|
*/ |
|
public function beforeSend($event) |
|
{ |
|
/* @var $response \yii\web\response */ |
|
$response = $event->sender; |
|
/* @var $data \app\hejiang\ValidationErrorResponse */ |
|
$data = &$response->data; |
|
|
|
if ($data instanceof ValidationErrorResponse) { |
|
$response->format = Response::FORMAT_JSON; |
|
$data = $data->raw; |
|
} |
|
} |
|
}
|
|
|