/** * API:用户登陆 * * @access public * @param 无 * @return JsonView 响应json */ public function exeUserLogin() { $requestParam = $this->getAllParameters(); Logger::debug('requestParam:' . print_r($requestParam, true)); $requestJsonParam = $this->getDecodedJsonRequest(); Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true)); // 获取用户id $user_id = AuthModel::getUserID($requestJsonParam['account'], $requestJsonParam['password'], $pdo); if (!$user_id) { $view = new JsonView(); $messageArr['error'] = "密码不正确,请重新输入"; return $this->getViewByJson($view, $messageArr, 0, "auth/user_login"); } // 初始化缓存 $userInfo = UserAction::iniUserInfo($user_id); $loginInfo = UserAction::getUserLoginInfo($userInfo['s_login_info']); if ($loginInfo != false) { $taskInfo = TaskAndAchieveAction::randTask($user_id); $updateArr['s_login_info'] = serialize($loginInfo); $updateArr['s_task_info'] = serialize($taskInfo); UserCache::setByKey($user_id, 's_login_info', $loginInfo); UserCache::setByKey($user_id, 's_task_info', $taskInfo); $userInfo['s_login_info'] = $loginInfo; $userInfo['s_task_info'] = $taskInfo; UserModel::update($updateArr, $user = array('n_id' => $user_id), $pdo); //清零合体次数 FriendModel::clearFitNum($user_id); // // 成就 // $statisticArr['login_day'] = 1; // TaskAndAchieveAction::achieveStatistic( $user_id, $statisticArr ); } //$user_id = $requestParam['user_id']; //$userInfo = AuthModel::getUserInfo( $user_id, $pdo ); // 生成缓存 $newSessionKey = Util::generateSessionKey($user_id); $oldSessionKey = $requestParam['session_key']; Logger::debug('SessionKey1:' . $oldSessionKey); Logger::debug('SessionKey2:' . $newSessionKey); UserCache::setByKey($user_id, Constants::PREVIOUS_SESSION_KEY, $oldSessionKey); UserCache::setByKey($user_id, Constants::CURRENT_SESSION_KEY, $newSessionKey); //UserCache::setByKey($user_id, 'userInfo', $userInfo); //$messageArr['user'] = $userInfo; $messageArr['n_id'] = $user_id; $messageArr['total_day'] = $userInfo['s_login_info']['total_day']; $messageArr['session_key'] = $newSessionKey; $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 1, "auth/user_login"); }