@router.post("/register", summary="用户注册")
async def submitRegister(*,
db: Session = Depends(deps.get_db),
redis: Redis = Depends(deps.get_redis),
client_ip: str = Depends(deps.get_ipaddress),
email: EmailSender = Depends(deps.get_email_sender),
register_data: user_info_schemas.RegisterUserInfoSchema
):
if settings.USE_CAPTCHA:
# 验证验证码
code = await redis.get(f"{
constants.REDIS_KEY_USER_CAPTCHA_CODE_KEY_PREFIX}_{
register_data.key}") # type: bytes
if not code:
return respErrorJson(error=error_code.ERROR_USER_CAPTCHA_CODE_INVALID) # 验证码失效
elif code.decode('utf-8').lower() != register_data.code.lower():
return respErrorJson(error=error_code.ERROR_USER_CAPTCHA_CODE_ERROR) # 验证码错误
# 验证信息是否已被使用
if curd_user.getByUsername(db, username=register_data.username):
return respErrorJson(error=error_code.ERROR_USER_USERNAME_EXISTS)
if curd_user.getByPhone(db, phone=register_data.phone):
return respErrorJson(error=error_code.ERROR_USER_PHONE_EXISTS)
if curd_user.getByEmail(db, email=register_data.email)
fastapi用户登录模块——“用户注册“
于 2023-12-17 12:20:28 首次发布