session; $session['isLogin'] = 1; $session['id'] = $admin['id']; return true; } public static function isLogin() { $session = Yii::$app->session; if(isset($session['isLogin']) && !empty($session['isLogin'])){ return true; } return false; } public static function getId() { $session = Yii::$app->session; $userId = $session['id']; return $userId; } public static function logout() { Yii::$app->session->destroy();//销毁session中所有已注册的数据 } public static function getByMobile($mobile) { $admin = xhWxOpenAdmin::find()->where(['mobile' => $mobile])->asArray()->one(); return $admin; } public static function getById($id) { $cacheKey = dict::getCacheKey('openAdmin').$id; $admin = Yii::$app->redis->executeCommand('HGETALL', [$cacheKey]); if(!empty($admin)){ $arr = []; $i = 0; $x = 0; foreach($admin as $key => $val){ $i++; if($i%2 == 0){ $arr[$x]['value'] = $val; $x++; }else{ $arr[$x]['key'] = $val; } } $adminArr = []; foreach($arr as $key => $val){ $adminArr[$val['key']] = $val['value']; } unset($adminArr['info_already_get_by_sql']); return $adminArr; } $admin = xhWxOpenAdmin::find()->where(['id' => $id])->asArray()->one(); $params = [$cacheKey]; $params[] = 'info_already_get_by_sql'; $params[] = 'ok';//redis没有办法设置带空值的键,加此可以数据空时表示取过 if(!empty($admin)){ foreach($admin as $key => $val){ $params[] = $key; $params[] = $val; } } Yii::$app->redis->executeCommand('HMSET',$params);//将xhAdmin信息放入缓存 return $admin; } public static function refreshById($id) { $adminKey = dict::getCacheKey('openAdmin').$id; Yii::$app->redis->executeCommand('DEL', [$adminKey]); $admin = self::getById($id); $mobileKey = dict::getCacheKey('mobileOpenAdmin').$admin['mobile']; Yii::$app->redis->executeCommand('DEL', [$mobileKey]); self::getByMobile($admin['mobile']); } public static function add($data) { $data = xhWxOpenAdmin::add($data); $id = $data['id']; self::refreshById($id); return $data; } }