[ 'class' => AccessControl::class, 'rules' => [ [ 'actions' => ['login','logout', 'error', 'captcha','register','register-sms-code'], 'allow' => true, ], ], ], ]; } public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'common\components\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, 'maxLength' => 5, // 最大显示个数 'minLength' => 5, // 最少显示个数 'padding' => 5, // 间距 'height' => 32, // 高度 'width' => 100, // 宽度 'offset' => 4, // 设置字符偏移量 'backColor' => 0xffffff, // 背景颜色 'foreColor' => 0x2F4F4F, // 字体颜色 ] ]; } /** * 登录 * @Author bing * @DateTime 2021-08-11 18:45:46 * @copyright: Copyright (c) 2020 广东七件事集团 * @return void */ public function actionLogin() { if (!Yii::$app->happiness_agent_user->isGuest) { // 记录行为日志 // Yii::$app->services->actionLog->create('login', '自动登录', false); $sign = Yii::$app->request->get('sign'); $route = 'happiness/agent/index/index'; if(!empty($sign)){ $redirect_url = \Yii::$app->urlManager->createAbsoluteUrl([$route,'sign'=>$sign]); }else{ $redirect_url = \Yii::$app->urlManager->createAbsoluteUrl($route); } return $this->redirect($redirect_url); } if(Yii::$app->request->isPost){ $post = Yii::$app->request->post(); $res = self::checkRequireParam($post,['captcha','username','admin_type','sign','is_remember']); if($res === false) return $this->error(self::getStaticError()); if (YII_ENV != 'dev'){ if (!$this->createAction('captcha')->validate($post['captcha'], false)) return $this->error('验证码错误'); } $mall = Mall::findOne(['mall_sign'=>$post['sign']]); if(empty($mall)) $this->error('商城不存在'); $post['mall_id'] = $mall['id']; $data = HappinessAgentAdmin::login($post); if($data === false) return $this->error(Admin::getStaticError()); return $this->success('登录成功',$data); } $system = \Yii::$app->services->setting->platform->get('system',true); return $this->render($this->action->id,compact('system')); } /** * 退出登录 * @Author bing * @DateTime 2021-08-11 18:45:57 * @copyright: Copyright (c) 2020 广东七件事集团 * @return void */ public function actionLogout() { $mall_id = Yii::$app->happiness_agent_user->identity->mall_id; $mall = Mall::findOne(['id'=>$mall_id]); Yii::$app->happiness_agent_user->logout(); Yii::$app->session->set('mall',null); $redirect_url = \Yii::$app->urlManager->createAbsoluteUrl(['happiness/agent/auth/login','sign'=>$mall['mall_sign'] ]); return $this->success('操作成功',['url'=>$redirect_url]); } }