public function __construct($id, $module, $config = []) { $this->post = Yii::$app->request->post(); // 加载数据库配置 \Yii::$app->params['category'] = Config::article_category(); \Yii::$app->params['tag'] = Config::article_tag(); parent::__construct($id, $module, $config = []); }
public function actionConfigClass() { if (is_array(Config::article_category())) { echo "Config::article_category()测试通过\n"; } if (is_array(Config::article_tag())) { echo "Config::article_tag()测试通过\n"; } }
public function __construct($id, $module, $config = []) { //用户是否登录判断 if (isset($_COOKIE['LoginKey'])) { $cookie = $_COOKIE['LoginKey']; //LoginKey是登录凭证 $sql = "select * from user where cookie = '{$cookie}'"; $res = \Yii::$app->db->createCommand($sql)->queryAll(); if ($res) { Yii::$app->view->params['user'] = $res[0]; //已经登录用户,保存用户信息 } } // 加载数据库配置 \Yii::$app->params['category'] = Config::article_category(); \Yii::$app->params['tag'] = Config::article_tag(); parent::__construct($id, $module, $config = []); }
public function beforeAction($action) { //判断管理员是否登录 //登录后的管理员会在客户端存下 access_token //该access_token 与 Cache里面的 admin_login 比对下,正确就是已登录管理员 if ('/site/login.html' != $_SERVER['REQUEST_URI']) { if (!isset($_COOKIE['access_token'])) { header("Location:/site/login.html"); exit; } // 暂时先注释掉,只要有access_token就可以登录了 // $access_token = Cache::get('admin_login'); // if($_COOKIE['access_token']!= $access_token){ // header("Location:/site/login.html"); // exit(); // } } // 加载数据库配置 \Yii::$app->params['category'] = Config::article_category(); \Yii::$app->params['tag'] = Config::article_tag(); $this->post_data = \Yii::$app->request->post(); }
public function __construct($id, $module, $config = []) { $user = ''; // 变量,数组,用户 do { if (isset($_COOKIE['LoginKey'])) { $cookie = $_COOKIE['LoginKey']; debug($cookie, 'cookie'); $sql = "select * from user where cookie = '{$cookie}'"; $res = \Yii::$app->db->createCommand($sql)->queryAll(); // 用户已经登录,跳出用户相关业务逻辑 if ($res) { Yii::$app->view->params['user'] = $res[0]; //已经登录用户,保存用户信息 break; } } //用户未登录,判断是否微信端 //用户不使用微信 if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') === false) { break; } //用户使用微信 $go_to_weixin = $this->actionGetWeixinCode(); //用户打开mobile端,跳转到微信获取授权 if (!isset($_GET['state'])) { header("location:{$go_to_weixin}"); exit; } //微信用户授权后跳转回mobile端 //未授权 if (!isset($_GET['code'])) { //以游客身份登录? //提醒用户必须授权,不授权不让用 break; } //已授权 //获取特殊的获取用户信息的access_token $res = $this->_get_weixin_user_access_token($_GET['code']); //获取特殊access_token失败 if (isset($res->errcode)) { debug("get access_token fail"); break; } //获取成功 //获取用户信息 $userinfo = $this->_get_weixin_user_info($res); //获取用户信息失败 if (!isset($userinfo->nickname)) { break; } // 已注册用户 // 通过openid判断该用户是否是已经 $user = User::find()->where("openid = '{$userinfo->openid}'")->one(); //新注册用户 if (!$user) { $user = new User(); $user->openid = $userinfo->openid; $user->nickname = $userinfo->nickname; $user->sex = $userinfo->sex; $user->city = $userinfo->city; $user->province = $userinfo->province; $user->avatar = $userinfo->headimgurl; $user->register_time = date("Y-m-d H:i:s", time()); $user->status = 0; $user->type = 0; } $user->cookie = User::Generate_cookie_key(); // 用户保存失败 $user->save(); // 给前端发送秘钥 $user = User::find()->where("id = '{$user->id}'")->asArray()->one(); setCookie('LoginKey', $user['cookie'], time() + 3600); //已经登录用户,保存用户信息 Yii::$app->view->params['user'] = $user; } while (false); // 使用微信js_sdk $this->use_js_sdk(); // 加载数据库配置 \Yii::$app->params['category'] = Config::article_category(); \Yii::$app->params['tag'] = Config::article_tag(); parent::__construct($id, $module, $config = []); }