19 lines
620 B
Python
19 lines
620 B
Python
from fastapi import APIRouter, HTTPException
|
|
from ..schemas.admin_auth import LoginRequest, TokenResponse
|
|
from ..services.auth_service import authenticate_admin, generate_login_token
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/login/", response_model=TokenResponse)
|
|
def login(request: LoginRequest, remember_me: bool = False):
|
|
"""
|
|
管理员登录接口
|
|
"""
|
|
user = authenticate_admin(request.username, request.password)
|
|
token, expires_in = generate_login_token(user["username"], remember_me)
|
|
return {
|
|
"access_token": token,
|
|
"token_type": "bearer",
|
|
"expires_in": expires_in
|
|
}
|