session; $code = Utils::randRegCode(6); $codeKey = $mobile."_".PhoneCode::REGISTER_TYPE; $sessionStr = json_encode(['content' => $code, 'expire_at' => time() + self::CODE_EXPIRE]); $session->set($codeKey, $sessionStr); return $code; } /** * @param $mobile * @return bool */ public static function removeRegisterCode($mobile) { $session = Yii::$app->session; $codeKey = $mobile."_".PhoneCode::REGISTER_TYPE; return $session->remove($codeKey); } /** * @param $mobile * @return mixed */ public static function getRegisterCode($mobile) { $session = Yii::$app->session; $codeKey = $mobile."_".PhoneCode::REGISTER_TYPE; $sessionContent = $session->get($codeKey); if (!$sessionContent) { return null; } $sessionContent = json_decode($sessionContent, true); if ($sessionContent && isset($sessionContent['expire_at']) && $sessionContent['expire_at'] > time()) { return $sessionContent['content']; } else { $session->remove($codeKey); return null; } } /** * @param $mobile * @return mixed */ public static function getLoginCode($mobile) { $session = Yii::$app->session; $codeKey = $mobile."_".PhoneCode::LOGIN_TYPE; $sessionContent = $session->get($codeKey); if (!$sessionContent) { return null; } $sessionContent = json_decode($sessionContent, true); if ($sessionContent && isset($sessionContent['expire_at']) && $sessionContent['expire_at'] > time()) { return $sessionContent['content']; } else { $session->remove($codeKey); return null; } } /** * @param $mobile * @return string */ public static function setLoginCode($mobile) { $session = Yii::$app->session; $code = Utils::randRegCode(6); $codeKey = $mobile."_".PhoneCode::LOGIN_TYPE; $sessionStr = json_encode(['content' => $code, 'expire_at' => time() + self::CODE_EXPIRE]); $session->set($codeKey, $sessionStr); return $code; } public static function removeLoginCode($mobile) { $session = Yii::$app->session; $codeKey = $mobile."_".PhoneCode::LOGIN_TYPE; $session->remove($codeKey); } }