diff --git a/backend/app/api/auth.py b/backend/app/api/auth.py index 8b82b27..d94e46a 100644 --- a/backend/app/api/auth.py +++ b/backend/app/api/auth.py @@ -25,15 +25,14 @@ class RegisterResponse(BaseModel): async def register(req: RegisterRequest, db: AsyncSession = Depends(get_db)): account = req.account.strip().lower() result = await db.execute(select(User).where(User.email == account)) - if result.scalar_one_or_none(): - raise HTTPException(status_code=400, detail="账号已注册") - user = User( - email=account, password_hash=hash_password(req.password), - nickname=req.nickname, status="pending", group_id=req.group_id, - ) - db.add(user) - await db.commit() - return RegisterResponse(message="注册成功,等待管理员审批") + if not result.scalar_one_or_none(): + user = User( + email=account, password_hash=hash_password(req.password), + nickname=req.nickname, status="pending", group_id=req.group_id, + ) + db.add(user) + await db.commit() + return RegisterResponse(message="注册请求已提交,等待管理员审批") @router.post("/login", response_model=TokenResponse) @@ -92,7 +91,7 @@ async def refresh(req: RefreshRequest, db: AsyncSession = Depends(get_db)): result = await db.execute(select(User).where(User.id == user_id)) user = result.scalar_one_or_none() if not user: - raise HTTPException(status_code=401, detail="User not found") + raise HTTPException(status_code=401, detail="Token 无效") if user.status == "pending": raise HTTPException(status_code=403, detail="账户正在等待管理员审批") if user.status == "disabled":