Inheritance: extends yii\base\Model
コード例 #1
0
 public function actionEmail($step = '1')
 {
     $params = ['step' => $step];
     if ($step === '1') {
         $emailBindRequestForm = new EmailBindRequestForm();
         $emailBindRequestForm->load(Yii::$app->request->post());
         if (Yii::$app->request->isAjax) {
             Yii::$app->response->format = Response::FORMAT_JSON;
             return ActiveForm::validate($emailBindRequestForm);
         }
         if (Yii::$app->request->isPost && $emailBindRequestForm->sendEmail()) {
             Yii::$app->session->setFlash('success', '验证码已发送,请至邮箱查看。');
             return $this->redirect(['email', 'step' => '2']);
         }
         $params['emailBindRequestForm'] = $emailBindRequestForm;
     } elseif ($step === '2') {
         $bindEmailForm = new BindEmailForm();
         $bindEmailForm->load(Yii::$app->request->post());
         if (Yii::$app->request->isAjax) {
             Yii::$app->response->format = Response::FORMAT_JSON;
             return ActiveForm::validate($bindEmailForm);
         }
         if (Yii::$app->request->isPost && $bindEmailForm->bind()) {
             Yii::$app->session->setFlash('success', '邮箱绑定成功!');
             return $this->redirect(['email']);
         }
         $params['bindEmailForm'] = $bindEmailForm;
     } else {
         return $this->redirect(['email']);
     }
     return $this->render('email', $params);
 }
コード例 #2
0
 /**
  * 更新邮箱
  *
  * @return array
  */
 public function actionEmail($step = '1')
 {
     if ($step === '1') {
         $model = new EmailBindRequestForm();
         if ($model->load(Yii::$app->request->post(), '') && $model->sendEmail()) {
             return ['status' => 'success', 'data' => []];
         } else {
             return ['status' => 'fail', 'data' => ['errors' => $model->getErrors('email') ?: [Yii::$app->smser->message]]];
         }
     } elseif ($step === '2') {
         $model = new BindEmailForm();
         if ($model->load(Yii::$app->request->post(), '') && $model->bind()) {
             return ['status' => 'success', 'data' => ['email' => Yii::$app->user->identity->email]];
         } else {
             return ['status' => 'fail', 'data' => ['errors' => $model->getErrors('verifyCode')]];
         }
     } else {
         throw new BadRequestHttpException('参数错误!');
     }
 }