[ 'class' => AccessControl::className(), 'only' => ['logout', 'signup'], 'rules' => [ [ 'actions' => ['signup','sendcode','register'], 'allow' => true, 'roles' => ['?'], ], [ 'actions' => ['logout'], 'allow' => true, 'roles' => ['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], 'sendcode'=>['post'], 'register'=>['post'] ], ], ]; } /** * @inheritdoc */ public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; } /** * Displays homepage. * * @return mixed */ public function actionIndex() { return $this->render('index'); } /** * Logs in a user. * * @return mixed */ public function actionLogin() { if (!Yii::$app->user->isGuest) { return $this->goHome(); } $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', [ 'model' => $model, ]); } } /** * banner跳转页面 */ public function actionHtmlpage(){ $this->layout="main"; $artid = intval(Yii::$app->request->get('id')); $info =Information::findOne($artid); return $this->render('myhtml',['content'=>$info]); } /** * 推荐有奖页面 */ public function actionAward(){ $this->layout=false; return $this->render('register'); } /** * 发送验证码 */ public function actionSendcode(){ $tel = Yii::$app->request->post('tel'); $str = 'salon'.$tel; $sige= md5($str); $post_data = array( 'username' => $tel, 'type'=>1, 'sign'=>$sige ); $result =json_decode($this->send_post('http://api.jiehengtech.com/v1/telcode/get?response_code=json', $post_data),true); $code = $result['data']['code']; $msg=$result['data']['message']; if($code==1){ return json_encode(['sign' => '0','msg'=>$msg]); } return json_encode(['sign' => '1','msg'=>'验证码发送成功!']); } /** * 注册验证 */ public function actionRegister(){ $tel = Yii::$app->request->post('username'); $code = Yii::$app->request->post('code'); $pass = Yii::$app->request->post('password'); $id = Yii::$app->request->post('id');//注册人的id $post_data = array( 'username' => $tel, 'code'=>$code, ); //检验验证码是否正确 $result =json_decode($this->send_post('http://api.jiehengtech.com/v1/user/register?response_code=json', $post_data),true); $code = $result['data']['code']; if($code==1){ return json_encode(['sign' => '0','msg'=>'验证码错误!']); } else{ //验证码验证通过 //调用输入密码注册接口 $post_data2 = array( 'username' => $tel, 'password'=>$pass, 'password2'=>$pass, 'recommend'=>$id ); $result2 =json_decode($this->send_post('http://api.jiehengtech.com/v1/user/register2?response_code=json', $post_data2),true); $code = $result2['data']['code']; $message = $result2['data']['message']; if($code==1){ return json_encode(['sign' => '0','msg'=>$message]); } //获取推荐人id if(!empty($id)){ //录入推荐人奖励信息 $set = System::find()->where(array('name'=>'earning'))->one(); $award = $set->content ;//推荐每个人的奖励 //查看推荐人是否存在 $referals = User::find()->where(array('id'=>$id,'role'=>User::ROLE_CUSTOMER))->one(); if(!empty($referals)){ $wallet = Wallet::find()->where(array('uid'=>$referals->id))->one(); if(empty($wallet)){ //钱包不存在 $wallet = new Wallet(); $wallet->uid=Yii::$app->user->id; $wallet->amount=$award; $wallet->updated_at=time(); $wallet->referrals=1; $wallet->allaward=$award; if(!$wallet->save()){ //保存推荐人信息失败 } } else{ $wallet->updateCounters(['amount'=>$award,'referrals'=>1,'allaward'=>$award]); } } } return json_encode(['sign' => '1','msg'=>'注册成功!']); } } public function actionDownload(){ return $this->render('download'); } /** * 发送post请求 * @param string $url 请求地址 * @param array $post_data post键值对数据 * @return string */ function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $postdata, 'timeout' => 15 * 60 // 超时时间(单位:s) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; } /** * Logs out the current user. * * @return mixed */ public function actionLogout() { Yii::$app->user->logout(); return $this->goHome(); } /** * Displays contact page. * * @return mixed */ public function actionContact() { $model = new ContactForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($model->sendEmail(Yii::$app->params['adminEmail'])) { Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.'); } else { Yii::$app->session->setFlash('error', 'There was an error sending your message.'); } return $this->refresh(); } else { return $this->render('contact', [ 'model' => $model, ]); } } /** * Displays about page. * * @return mixed */ public function actionAbout() { return $this->render('about'); } /** * Signs user up. * * @return mixed */ public function actionSignup() { $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } } return $this->render('signup', [ 'model' => $model, ]); } /** * Requests password reset. * * @return mixed */ public function actionRequestPasswordReset() { $model = new PasswordResetRequestForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($model->sendEmail()) { Yii::$app->session->setFlash('success', 'Check your email for further instructions.'); return $this->goHome(); } else { Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for the provided email address.'); } } return $this->render('requestPasswordResetToken', [ 'model' => $model, ]); } /** * Resets password. * * @param string $token * @return mixed * @throws BadRequestHttpException */ public function actionResetPassword($token) { try { $model = new ResetPasswordForm($token); } catch (InvalidParamException $e) { throw new BadRequestHttpException($e->getMessage()); } if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) { Yii::$app->session->setFlash('success', 'New password saved.'); return $this->goHome(); } return $this->render('resetPassword', [ 'model' => $model, ]); } }