BaseController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace addons\Store\api\modules\v2\controllers;
  3. use addons\Store\common\models\Store;
  4. use common\enums\StatusEnum;
  5. use common\models\api\AccessToken;
  6. use api\controllers\OnAuthController;
  7. /**
  8. * 默认控制器
  9. *
  10. * Class DefaultController
  11. * @package addons\Store\api\modules\v2\controllers
  12. */
  13. class BaseController extends OnAuthController
  14. {
  15. public $modelClass = '';
  16. public $store_id = '';
  17. public $store = null;
  18. public $u_id = null;
  19. public function beforeAction($action)
  20. {
  21. parent::beforeAction($action);
  22. $headers = \Yii::$app->request->headers;
  23. $this->access_token = $headers['x-access-store-token'];
  24. $res = AccessToken::findIdentityByAccessToken($this->access_token);
  25. if (empty($res)) {
  26. \Yii::$app->response->data = ['code' => 406, 'msg' => '请重新登录'];
  27. \Yii::$app->response->send();
  28. return;
  29. }
  30. $store = Store::findOne(['user_id' => $res->user_id,'status'=>StatusEnum::ENABLED]);
  31. $this->store_id = $store['id'] ?? 0;
  32. $this->u_id = $store['user_id'] ?? 0;
  33. $this->store = $store;
  34. return $action;
  35. }
  36. }