| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User:  NODELOG
 
-  * Date: 16/3/2
 
-  * Time: 下午2:07
 
-  */
 
- namespace api\common\controllers;
 
- use api\common\behaviors\ValidateBehavior;
 
- use common\enums\CodeEnum;
 
- use Yii;
 
- use yii\filters\Cors;
 
- use yii\rest\Serializer;
 
- use yii\web\ServerErrorHttpException;
 
- class Controller extends \yii\rest\Controller
 
- {
 
-     /**
 
-      * 配置让dataProvider序列化后使用data统一接收
 
-      * @var array
 
-      */
 
-     public $serializer = [
 
-         'class' => 'yii\rest\Serializer',
 
-         'collectionEnvelope' => 'data'
 
-     ];
 
-     public function behaviors()
 
-     {
 
-         $behaviors = parent::behaviors();
 
-         unset($behaviors['contentNegotiator']);
 
-         $behaviors['cors'] = [
 
-             'class' => Cors::className(),
 
-         ];
 
-         $behaviors['validate'] = ValidateBehavior::className();
 
-         return $behaviors;
 
-     }
 
-     /**
 
-      * 重写serializeData 函数,格式化返回数据 model序列号后使用data统一接收
 
-      * @param mixed $data
 
-      * @return mixed
 
-      * @throws \yii\base\InvalidConfigException
 
-      * @author nodelog
 
-      */
 
-     protected function serializeData($data)
 
-     {
 
-         /* @var Serializer $serializer */
 
-         $serializer = Yii::createObject($this->serializer);
 
-         if (is_array($data) && isset($data['data'])) {
 
-             $data['data'] = $serializer->serialize($data['data']);
 
-         }
 
-         //序列化数据
 
-         $data = $serializer->serialize($data);
 
-         //接口版本号
 
-         $data['version'] = Yii::$app->config->get('version');
 
-         return $data;
 
-     }
 
- }
 
 
  |