/** * 执行动作之前 * @see \yii\base\Controller::beforeAction() */ public function beforeAction($action) { $operation = false; $operation = true; $LoginRedirect = new \LoginRedirectYii2(); //设置第一次访问url $controller_action = Yii::$app->controller->id . '/' . Yii::$app->controller->action->id; $controller_action = strtolower($controller_action); $controller = strtolower(Yii::$app->controller->id); if ($controller_action == 'login/login') { } else { if ($controller == 'api') { } else { if ($controller_action == 'answer/resulte') { $LoginRedirect->setFirstVisitUrl([$controller_action, 'au_id' => Yii::$app->request->get('au_id')]); } else { if ($controller == 'answer') { $LoginRedirect->setFirstVisitUrl([$controller_action, 'id' => Yii::$app->request->get('id')]); } else { if ($controller_action == 'survey/my') { // $LoginRedirect->setFirstVisitUrl($controller_action); } else { $LoginRedirect->setFirstVisitUrl($controller_action); } } } } } // ZCommonFun::print_r_debug($LoginRedirect->getFirstVisitUrl()); // ZCommonFun::print_r_debug($LoginRedirect->getFirstVisitUrl()); // ZCommonFun::print_r_debug(Yii::$app->session[$LoginRedirect->prefix]); // exit; return $operation; }
/** * 登录 */ public function actionLogin() { $this->layout = false; $model = new User(); $post = Yii::$app->request->post(); if (isset($post['username'])) { $model->user = isset($post['username']) ? $post['username'] : ''; $model->pass = isset($post['password']) ? $post['password'] : ''; $error = $model->login($model->user, $model->pass); if ($error == 0) { $bind = ZCommonSessionFun::get_session('bind'); $bind_info = ZCommonSessionFun::get_session('bind_info'); // ZCommonFun::print_r_debug($bind); // ZCommonFun::print_r_debug($bind_info); // exit; if ($bind) { // $bind_info['openid'] = $openid; // $bind_info['nickname'] = $user_info->nickname; // $bind_info['headimgurl'] = $user_info->headimgurl; $model_User = new User(); $return = $model_User->userBind('', '', ZCommonSessionFun::get_user_id(), $bind_info['openid'], $bind, $bind_info['nickname'], $bind_info['headimgurl'], false); } //账号登陆类型 ZCommonSessionFun::set_login_type('user'); } $data['code'] = $model->operationError; header('content-type:text/json;charset=utf-8;'); echo Json::encode($data); exit; // ZCommonFun::print_r_debug($post); } $LoginRedirect = new \LoginRedirectYii2(); $gourl = $LoginRedirect->getFirstVisitUrl(); $gourl = $gourl ? $gourl : 'survey/my'; return $this->render('login', ['model' => $model, 'gourl' => $gourl]); }
<?php use yii\helpers\Html; use yii\widgets\ActiveForm; use common\models\User; use common\z\ZCommonFun; use common\z\ZController; /* @var $model common\models\User */ $gourl = isset($_GET['gourl']) && !empty($_GET['gourl']) ? $_GET['gourl'] : ''; $LoginRedirect = new LoginRedirectYii2(); $gourl = $LoginRedirect->getFirstVisitUrl(); $gourl = $gourl ? $gourl : 'survey/my'; ?> <!DOCTYPE html> <html> <head> <?php echo $this->renderFile(__DIR__ . '/../layouts/title.php'); ?> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <meta content="telephone=no" name="format-detection"> <link href="./bag-test/css/mobile-register.min.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="./bag-test/css/common.css"> <script type="text/javascript" src="./bag-test/js/jquery-2.1.0.min.js"></script> <link rel="stylesheet" href="./bag-test/css/Font-Awesome-master/css/font-awesome.min.css"> <style> .survey-form{ text-align: center;
/** * 绑定,注册 * @return \yii\base\string */ public function actionBinding() { $LoginRedirect = new \LoginRedirectYii2(); $gourl = $LoginRedirect->getFirstVisitUrl(); $gourl = $gourl ? $gourl : 'survey/my'; $this->layout = false; $bind = ZCommonSessionFun::get_session('bind'); $bind_info = ZCommonSessionFun::get_session('bind_info'); // ZCommonFun::print_r_debug($gourl); // ZCommonFun::print_r_debug($bind); // ZCommonFun::print_r_debug($bind_info); // exit; if (ZCommonSessionFun::get_user_id() > 0 && $bind && isset($bind_info['openid'])) { $model_User = new User(); $return = $model_User->userBind('', '', ZCommonSessionFun::get_user_id(), $bind_info['openid'], $bind, $bind_info['nickname'], $bind_info['headimgurl'], false); return $this->redirect(['user-profile/bind-list']); } if ($bind && isset($bind_info['openid'])) { $model_OauthBind = new OauthBind(); $condition['openid'] = $bind_info['openid']; $condition['type'] = $bind; $model_OauthBind = $model_OauthBind->findOne($condition); if ($model_OauthBind) { $model = new User(); $condition = null; $condition['uid'] = $model_OauthBind->uid; $model = $model->findOne($condition); if ($model) { $userInfo = $model->attributes; isset($userInfo['role']) ? null : ($userInfo['role'] = 0); //角色 $userInfo['openidInfo'] = null; //第三方登录信息 if (isset($model->userProfile)) { $userInfo['profile'] = $model->userProfile->attributes; $userInfo['nickname'] = $model->userProfile->nickname; $userInfo['head_image'] = $model->userProfile->head_image; $userInfo['intro'] = $model->userProfile->intro; } ZCommonSessionFun::set_user_session($userInfo); return $this->redirect([$gourl]); } } } $model = new User(); return $this->render('binding', ['model' => $model]); }